{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# BERT\n",
    "\n",
    "微调将最后一层的第一个token即[CLS]的隐藏向量作为句子的表示，然后输入到softmax层进行分类。  \n",
    "\n",
    "预训练BERT以及相关代码下载地址：链接: https://pan.baidu.com/s/1zd6wN7elGgp1NyuzYKpvGQ 提取码: tmp5"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-12-25T07:59:48.606178Z",
     "start_time": "2024-12-25T07:59:46.876840Z"
    }
   },
   "source": [
    "import logging\n",
    "import random\n",
    "\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "logging.basicConfig(level=logging.INFO, format='%(asctime)-15s %(levelname)s: %(message)s')\n",
    "\n",
    "# set seed\n",
    "seed = 666\n",
    "random.seed(seed)\n",
    "np.random.seed(seed)\n",
    "torch.cuda.manual_seed(seed)\n",
    "torch.manual_seed(seed)\n",
    "\n",
    "# set cuda\n",
    "gpu = 0\n",
    "use_cuda = gpu >= 0 and torch.cuda.is_available()\n",
    "if use_cuda:\n",
    "    torch.cuda.set_device(gpu)\n",
    "    device = torch.device(\"cuda\", gpu)\n",
    "else:\n",
    "    device = torch.device(\"cpu\")\n",
    "logging.info(\"Use cuda: %s, gpu id: %d.\", use_cuda, gpu)"
   ],
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\Anaconda3\\envs\\Tianchi-NLP-Beginner-master\\lib\\site-packages\\tqdm\\auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n",
      "2024-12-25 15:59:48,601 INFO: Use cuda: False, gpu id: 0.\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-12-25T07:59:57.579006Z",
     "start_time": "2024-12-25T07:59:52.011944Z"
    }
   },
   "source": [
    "# split data to 10 fold\n",
    "fold_num = 10\n",
    "data_file = '../input/train_set.csv'\n",
    "import pandas as pd\n",
    "\n",
    "\n",
    "def all_data2fold(fold_num, num=200000):\n",
    "    fold_data = []\n",
    "    f = pd.read_csv(data_file, sep='\\t', encoding='UTF-8')\n",
    "    texts = f['text'].tolist()[:num]\n",
    "    labels = f['label'].tolist()[:num]\n",
    "\n",
    "    total = len(labels)\n",
    "\n",
    "    index = list(range(total))\n",
    "    np.random.shuffle(index)\n",
    "\n",
    "    all_texts = []\n",
    "    all_labels = []\n",
    "    for i in index:\n",
    "        all_texts.append(texts[i])\n",
    "        all_labels.append(labels[i])\n",
    "\n",
    "    label2id = {}\n",
    "    for i in range(total):\n",
    "        label = str(all_labels[i])\n",
    "        if label not in label2id:\n",
    "            label2id[label] = [i]\n",
    "        else:\n",
    "            label2id[label].append(i)\n",
    "\n",
    "    all_index = [[] for _ in range(fold_num)]\n",
    "    for label, data in label2id.items():\n",
    "        # print(label, len(data))\n",
    "        batch_size = int(len(data) / fold_num)\n",
    "        other = len(data) - batch_size * fold_num\n",
    "        for i in range(fold_num):\n",
    "            cur_batch_size = batch_size + 1 if i < other else batch_size\n",
    "            # print(cur_batch_size)\n",
    "            batch_data = [data[i * batch_size + b] for b in range(cur_batch_size)]\n",
    "            all_index[i].extend(batch_data)\n",
    "\n",
    "    batch_size = int(total / fold_num)\n",
    "    other_texts = []\n",
    "    other_labels = []\n",
    "    other_num = 0\n",
    "    start = 0\n",
    "    for fold in range(fold_num):\n",
    "        num = len(all_index[fold])\n",
    "        texts = [all_texts[i] for i in all_index[fold]]\n",
    "        labels = [all_labels[i] for i in all_index[fold]]\n",
    "\n",
    "        if num > batch_size:\n",
    "            fold_texts = texts[:batch_size]\n",
    "            other_texts.extend(texts[batch_size:])\n",
    "            fold_labels = labels[:batch_size]\n",
    "            other_labels.extend(labels[batch_size:])\n",
    "            other_num += num - batch_size\n",
    "        elif num < batch_size:\n",
    "            end = start + batch_size - num\n",
    "            fold_texts = texts + other_texts[start: end]\n",
    "            fold_labels = labels + other_labels[start: end]\n",
    "            start = end\n",
    "        else:\n",
    "            fold_texts = texts\n",
    "            fold_labels = labels\n",
    "\n",
    "        assert batch_size == len(fold_labels)\n",
    "\n",
    "        # shuffle\n",
    "        index = list(range(batch_size))\n",
    "        np.random.shuffle(index)\n",
    "\n",
    "        shuffle_fold_texts = []\n",
    "        shuffle_fold_labels = []\n",
    "        for i in index:\n",
    "            shuffle_fold_texts.append(fold_texts[i])\n",
    "            shuffle_fold_labels.append(fold_labels[i])\n",
    "\n",
    "        data = {'label': shuffle_fold_labels, 'text': shuffle_fold_texts}\n",
    "        fold_data.append(data)\n",
    "\n",
    "    logging.info(\"Fold lens %s\", str([len(data['label']) for data in fold_data]))\n",
    "\n",
    "    return fold_data\n",
    "\n",
    "\n",
    "fold_data = all_data2fold(10)"
   ],
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2024-12-25 15:59:57,553 INFO: Fold lens [20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000]\n"
     ]
    }
   ],
   "execution_count": 2
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-12-25T08:00:01.898991Z",
     "start_time": "2024-12-25T08:00:00.554948Z"
    }
   },
   "source": [
    "# build train, dev, test data\n",
    "fold_id = 9\n",
    "\n",
    "# dev\n",
    "dev_data = fold_data[fold_id]\n",
    "\n",
    "# train\n",
    "train_texts = []\n",
    "train_labels = []\n",
    "for i in range(0, fold_id):\n",
    "    data = fold_data[i]\n",
    "    train_texts.extend(data['text'])\n",
    "    train_labels.extend(data['label'])\n",
    "\n",
    "train_data = {'label': train_labels, 'text': train_texts}\n",
    "\n",
    "# test\n",
    "test_data_file = '../input/test_a.csv'\n",
    "f = pd.read_csv(test_data_file, sep='\\t', encoding='UTF-8')\n",
    "texts = f['text'].tolist()\n",
    "test_data = {'label': [0] * len(texts), 'text': texts}"
   ],
   "outputs": [],
   "execution_count": 3
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-12-25T08:01:07.339927Z",
     "start_time": "2024-12-25T08:00:39.754844Z"
    }
   },
   "source": [
    "# build vocab\n",
    "from collections import Counter\n",
    "from transformers import BasicTokenizer\n",
    "\n",
    "basic_tokenizer = BasicTokenizer()\n",
    "\n",
    "\n",
    "class Vocab():\n",
    "    def __init__(self, train_data):\n",
    "        self.min_count = 5\n",
    "        self.pad = 0\n",
    "        self.unk = 1\n",
    "        self._id2word = ['[PAD]', '[UNK]']\n",
    "        self._id2extword = ['[PAD]', '[UNK]']\n",
    "\n",
    "        self._id2label = []\n",
    "        self.target_names = []\n",
    "\n",
    "        self.build_vocab(train_data)\n",
    "\n",
    "        reverse = lambda x: dict(zip(x, range(len(x))))\n",
    "        self._word2id = reverse(self._id2word)\n",
    "        self._label2id = reverse(self._id2label)\n",
    "\n",
    "        logging.info(\"Build vocab: words %d, labels %d.\" % (self.word_size, self.label_size))\n",
    "\n",
    "    def build_vocab(self, data):\n",
    "        self.word_counter = Counter()\n",
    "\n",
    "        for text in data['text']:\n",
    "            words = text.split()\n",
    "            for word in words:\n",
    "                self.word_counter[word] += 1\n",
    "\n",
    "        for word, count in self.word_counter.most_common():\n",
    "            if count >= self.min_count:\n",
    "                self._id2word.append(word)\n",
    "\n",
    "        label2name = {0: '科技', 1: '股票', 2: '体育', 3: '娱乐', 4: '时政', 5: '社会', 6: '教育', 7: '财经',\n",
    "                      8: '家居', 9: '游戏', 10: '房产', 11: '时尚', 12: '彩票', 13: '星座'}\n",
    "\n",
    "        self.label_counter = Counter(data['label'])\n",
    "\n",
    "        for label in range(len(self.label_counter)):\n",
    "            count = self.label_counter[label]\n",
    "            self._id2label.append(label)\n",
    "            self.target_names.append(label2name[label])\n",
    "\n",
    "    def load_pretrained_embs(self, embfile):\n",
    "        with open(embfile, encoding='utf-8') as f:\n",
    "            lines = f.readlines()\n",
    "            items = lines[0].split()\n",
    "            word_count, embedding_dim = int(items[0]), int(items[1])\n",
    "\n",
    "        index = len(self._id2extword)\n",
    "        embeddings = np.zeros((word_count + index, embedding_dim))\n",
    "        for line in lines[1:]:\n",
    "            values = line.split()\n",
    "            self._id2extword.append(values[0])\n",
    "            vector = np.array(values[1:], dtype='float64')\n",
    "            embeddings[self.unk] += vector\n",
    "            embeddings[index] = vector\n",
    "            index += 1\n",
    "\n",
    "        embeddings[self.unk] = embeddings[self.unk] / word_count\n",
    "        embeddings = embeddings / np.std(embeddings)\n",
    "\n",
    "        reverse = lambda x: dict(zip(x, range(len(x))))\n",
    "        self._extword2id = reverse(self._id2extword)\n",
    "\n",
    "        assert len(set(self._id2extword)) == len(self._id2extword)\n",
    "\n",
    "        return embeddings\n",
    "\n",
    "    def word2id(self, xs):\n",
    "        if isinstance(xs, list):\n",
    "            return [self._word2id.get(x, self.unk) for x in xs]\n",
    "        return self._word2id.get(xs, self.unk)\n",
    "\n",
    "    def extword2id(self, xs):\n",
    "        if isinstance(xs, list):\n",
    "            return [self._extword2id.get(x, self.unk) for x in xs]\n",
    "        return self._extword2id.get(xs, self.unk)\n",
    "\n",
    "    def label2id(self, xs):\n",
    "        if isinstance(xs, list):\n",
    "            return [self._label2id.get(x, self.unk) for x in xs]\n",
    "        return self._label2id.get(xs, self.unk)\n",
    "\n",
    "    @property\n",
    "    def word_size(self):\n",
    "        return len(self._id2word)\n",
    "\n",
    "    @property\n",
    "    def extword_size(self):\n",
    "        return len(self._id2extword)\n",
    "\n",
    "    @property\n",
    "    def label_size(self):\n",
    "        return len(self._id2label)\n",
    "\n",
    "\n",
    "vocab = Vocab(train_data)"
   ],
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2024-12-25 16:01:07,326 INFO: Build vocab: words 5978, labels 14.\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-12-25T08:01:31.388363Z",
     "start_time": "2024-12-25T08:01:31.364142Z"
    }
   },
   "source": [
    "# build module\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "\n",
    "\n",
    "class Attention(nn.Module):\n",
    "    def __init__(self, hidden_size):\n",
    "        super(Attention, self).__init__()\n",
    "        self.weight = nn.Parameter(torch.Tensor(hidden_size, hidden_size))\n",
    "        self.weight.data.normal_(mean=0.0, std=0.05)\n",
    "\n",
    "        self.bias = nn.Parameter(torch.Tensor(hidden_size))\n",
    "        b = np.zeros(hidden_size, dtype=np.float32)\n",
    "        self.bias.data.copy_(torch.from_numpy(b))\n",
    "\n",
    "        self.query = nn.Parameter(torch.Tensor(hidden_size))\n",
    "        self.query.data.normal_(mean=0.0, std=0.05)\n",
    "\n",
    "    def forward(self, batch_hidden, batch_masks):\n",
    "        # batch_hidden: b x len x hidden_size (2 * hidden_size of lstm)\n",
    "        # batch_masks:  b x len\n",
    "\n",
    "        # linear\n",
    "        key = torch.matmul(batch_hidden, self.weight) + self.bias  # b x len x hidden\n",
    "\n",
    "        # compute attention\n",
    "        outputs = torch.matmul(key, self.query)  # b x len\n",
    "\n",
    "        masked_outputs = outputs.masked_fill((1 - batch_masks).bool(), float(-1e32))\n",
    "\n",
    "        attn_scores = F.softmax(masked_outputs, dim=1)  # b x len\n",
    "\n",
    "        # 对于全零向量，-1e32的结果为 1/len, -inf为nan, 额外补0\n",
    "        masked_attn_scores = attn_scores.masked_fill((1 - batch_masks).bool(), 0.0)\n",
    "\n",
    "        # sum weighted sources\n",
    "        batch_outputs = torch.bmm(masked_attn_scores.unsqueeze(1), key).squeeze(1)  # b x hidden\n",
    "\n",
    "        return batch_outputs, attn_scores\n",
    "\n",
    "\n",
    "# build word encoder\n",
    "bert_path = './bert/bert-mini/'\n",
    "dropout = 0.15\n",
    "\n",
    "from transformers import BertModel\n",
    "\n",
    "\n",
    "class WordBertEncoder(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(WordBertEncoder, self).__init__()\n",
    "        self.dropout = nn.Dropout(dropout)\n",
    "\n",
    "        self.tokenizer = WhitespaceTokenizer()\n",
    "        self.bert = BertModel.from_pretrained(bert_path)\n",
    "\n",
    "        self.pooled = False\n",
    "        logging.info('Build Bert encoder with pooled {}.'.format(self.pooled))\n",
    "\n",
    "    def encode(self, tokens):\n",
    "        tokens = self.tokenizer.tokenize(tokens)\n",
    "        return tokens\n",
    "\n",
    "    def get_bert_parameters(self):\n",
    "        no_decay = ['bias', 'LayerNorm.weight']\n",
    "        optimizer_parameters = [\n",
    "            {'params': [p for n, p in self.bert.named_parameters() if not any(nd in n for nd in no_decay)],\n",
    "             'weight_decay': 0.01},\n",
    "            {'params': [p for n, p in self.bert.named_parameters() if any(nd in n for nd in no_decay)],\n",
    "             'weight_decay': 0.0}\n",
    "        ]\n",
    "        return optimizer_parameters\n",
    "\n",
    "    def forward(self, input_ids, token_type_ids):\n",
    "        # input_ids: sen_num x bert_len\n",
    "        # token_type_ids: sen_num  x bert_len\n",
    "\n",
    "        # sen_num x bert_len x 256, sen_num x 256\n",
    "        sequence_output, pooled_output = self.bert(input_ids=input_ids, token_type_ids=token_type_ids)\n",
    "\n",
    "        if self.pooled:\n",
    "            reps = pooled_output\n",
    "        else:\n",
    "            reps = sequence_output[:, 0, :]  # sen_num x 256\n",
    "\n",
    "        if self.training:\n",
    "            reps = self.dropout(reps)\n",
    "\n",
    "        return reps\n",
    "\n",
    "\n",
    "class WhitespaceTokenizer():\n",
    "    \"\"\"WhitespaceTokenizer with vocab.\"\"\"\n",
    "\n",
    "    def __init__(self):\n",
    "        vocab_file = bert_path + 'vocab.txt'\n",
    "        self._token2id = self.load_vocab(vocab_file)\n",
    "        self._id2token = {v: k for k, v in self._token2id.items()}\n",
    "        self.max_len = 256\n",
    "        self.unk = 1\n",
    "\n",
    "        logging.info(\"Build Bert vocab with size %d.\" % (self.vocab_size))\n",
    "\n",
    "    def load_vocab(self, vocab_file):\n",
    "        f = open(vocab_file, 'r')\n",
    "        lines = f.readlines()\n",
    "        lines = list(map(lambda x: x.strip(), lines))\n",
    "        vocab = dict(zip(lines, range(len(lines))))\n",
    "        return vocab\n",
    "\n",
    "    def tokenize(self, tokens):\n",
    "        assert len(tokens) <= self.max_len - 2\n",
    "        tokens = [\"[CLS]\"] + tokens + [\"[SEP]\"]\n",
    "        output_tokens = self.token2id(tokens)\n",
    "        return output_tokens\n",
    "\n",
    "    def token2id(self, xs):\n",
    "        if isinstance(xs, list):\n",
    "            return [self._token2id.get(x, self.unk) for x in xs]\n",
    "        return self._token2id.get(xs, self.unk)\n",
    "\n",
    "    @property\n",
    "    def vocab_size(self):\n",
    "        return len(self._id2token)\n",
    "\n",
    "\n",
    "# build sent encoder\n",
    "sent_hidden_size = 256\n",
    "sent_num_layers = 2\n",
    "\n",
    "\n",
    "class SentEncoder(nn.Module):\n",
    "    def __init__(self, sent_rep_size):\n",
    "        super(SentEncoder, self).__init__()\n",
    "        self.dropout = nn.Dropout(dropout)\n",
    "\n",
    "        self.sent_lstm = nn.LSTM(\n",
    "            input_size=sent_rep_size,\n",
    "            hidden_size=sent_hidden_size,\n",
    "            num_layers=sent_num_layers,\n",
    "            batch_first=True,\n",
    "            bidirectional=True\n",
    "        )\n",
    "\n",
    "    def forward(self, sent_reps, sent_masks):\n",
    "        # sent_reps:  b x doc_len x sent_rep_size\n",
    "        # sent_masks: b x doc_len\n",
    "\n",
    "        sent_hiddens, _ = self.sent_lstm(sent_reps)  # b x doc_len x hidden*2\n",
    "        sent_hiddens = sent_hiddens * sent_masks.unsqueeze(2)\n",
    "\n",
    "        if self.training:\n",
    "            sent_hiddens = self.dropout(sent_hiddens)\n",
    "\n",
    "        return sent_hiddens"
   ],
   "outputs": [],
   "execution_count": 7
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-12-25T08:01:36.709524Z",
     "start_time": "2024-12-25T08:01:36.642390Z"
    }
   },
   "source": [
    "# build model\n",
    "class Model(nn.Module):\n",
    "    def __init__(self, vocab):\n",
    "        super(Model, self).__init__()\n",
    "        self.sent_rep_size = 256\n",
    "        self.doc_rep_size = sent_hidden_size * 2\n",
    "        self.all_parameters = {}\n",
    "        parameters = []\n",
    "        self.word_encoder = WordBertEncoder()\n",
    "        bert_parameters = self.word_encoder.get_bert_parameters()\n",
    "\n",
    "        self.sent_encoder = SentEncoder(self.sent_rep_size)\n",
    "        self.sent_attention = Attention(self.doc_rep_size)\n",
    "        parameters.extend(list(filter(lambda p: p.requires_grad, self.sent_encoder.parameters())))\n",
    "        parameters.extend(list(filter(lambda p: p.requires_grad, self.sent_attention.parameters())))\n",
    "\n",
    "        self.out = nn.Linear(self.doc_rep_size, vocab.label_size, bias=True)\n",
    "        parameters.extend(list(filter(lambda p: p.requires_grad, self.out.parameters())))\n",
    "\n",
    "        if use_cuda:\n",
    "            self.to(device)\n",
    "\n",
    "        if len(parameters) > 0:\n",
    "            self.all_parameters[\"basic_parameters\"] = parameters\n",
    "        self.all_parameters[\"bert_parameters\"] = bert_parameters\n",
    "\n",
    "        logging.info('Build model with bert word encoder, lstm sent encoder.')\n",
    "\n",
    "        para_num = sum([np.prod(list(p.size())) for p in self.parameters()])\n",
    "        logging.info('Model param num: %.2f M.' % (para_num / 1e6))\n",
    "\n",
    "    def forward(self, batch_inputs):\n",
    "        # batch_inputs(batch_inputs1, batch_inputs2): b x doc_len x sent_len\n",
    "        # batch_masks : b x doc_len x sent_len\n",
    "        batch_inputs1, batch_inputs2, batch_masks = batch_inputs\n",
    "        batch_size, max_doc_len, max_sent_len = batch_inputs1.shape[0], batch_inputs1.shape[1], batch_inputs1.shape[2]\n",
    "        batch_inputs1 = batch_inputs1.view(batch_size * max_doc_len, max_sent_len)  # sen_num x sent_len\n",
    "        batch_inputs2 = batch_inputs2.view(batch_size * max_doc_len, max_sent_len)  # sen_num x sent_len\n",
    "        batch_masks = batch_masks.view(batch_size * max_doc_len, max_sent_len)  # sen_num x sent_len\n",
    "\n",
    "        sent_reps = self.word_encoder(batch_inputs1, batch_inputs2)  # sen_num x sent_rep_size\n",
    "\n",
    "        sent_reps = sent_reps.view(batch_size, max_doc_len, self.sent_rep_size)  # b x doc_len x sent_rep_size\n",
    "        batch_masks = batch_masks.view(batch_size, max_doc_len, max_sent_len)  # b x doc_len x max_sent_len\n",
    "        sent_masks = batch_masks.bool().any(2).float()  # b x doc_len\n",
    "\n",
    "        sent_hiddens = self.sent_encoder(sent_reps, sent_masks)  # b x doc_len x doc_rep_size\n",
    "        doc_reps, atten_scores = self.sent_attention(sent_hiddens, sent_masks)  # b x doc_rep_size\n",
    "\n",
    "        batch_outputs = self.out(doc_reps)  # b x num_labels\n",
    "\n",
    "        return batch_outputs\n",
    "    \n",
    "model = Model(vocab)"
   ],
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "[Errno 2] No such file or directory: './bert/bert-mini/vocab.txt'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mFileNotFoundError\u001B[0m                         Traceback (most recent call last)",
      "\u001B[1;32m<ipython-input-8-e9880308634e>\u001B[0m in \u001B[0;36m<module>\u001B[1;34m\u001B[0m\n\u001B[0;32m     52\u001B[0m         \u001B[1;32mreturn\u001B[0m \u001B[0mbatch_outputs\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     53\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 54\u001B[1;33m \u001B[0mmodel\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mModel\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mvocab\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m",
      "\u001B[1;32m<ipython-input-8-e9880308634e>\u001B[0m in \u001B[0;36m__init__\u001B[1;34m(self, vocab)\u001B[0m\n\u001B[0;32m      7\u001B[0m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mall_parameters\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m{\u001B[0m\u001B[1;33m}\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m      8\u001B[0m         \u001B[0mparameters\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m----> 9\u001B[1;33m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mword_encoder\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mWordBertEncoder\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     10\u001B[0m         \u001B[0mbert_parameters\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mword_encoder\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mget_bert_parameters\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     11\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
      "\u001B[1;32m<ipython-input-7-ee53f84565e5>\u001B[0m in \u001B[0;36m__init__\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m     52\u001B[0m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdropout\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mnn\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mDropout\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mdropout\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     53\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 54\u001B[1;33m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mtokenizer\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mWhitespaceTokenizer\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     55\u001B[0m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mbert\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mBertModel\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mfrom_pretrained\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mbert_path\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     56\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
      "\u001B[1;32m<ipython-input-7-ee53f84565e5>\u001B[0m in \u001B[0;36m__init__\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m     95\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0m__init__\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     96\u001B[0m         \u001B[0mvocab_file\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mbert_path\u001B[0m \u001B[1;33m+\u001B[0m \u001B[1;34m'vocab.txt'\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 97\u001B[1;33m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_token2id\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mload_vocab\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mvocab_file\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     98\u001B[0m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_id2token\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m{\u001B[0m\u001B[0mv\u001B[0m\u001B[1;33m:\u001B[0m \u001B[0mk\u001B[0m \u001B[1;32mfor\u001B[0m \u001B[0mk\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mv\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_token2id\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mitems\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m}\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     99\u001B[0m         \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mmax_len\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;36m256\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
      "\u001B[1;32m<ipython-input-7-ee53f84565e5>\u001B[0m in \u001B[0;36mload_vocab\u001B[1;34m(self, vocab_file)\u001B[0m\n\u001B[0;32m    103\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    104\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mload_vocab\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mvocab_file\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 105\u001B[1;33m         \u001B[0mf\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mopen\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mvocab_file\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;34m'r'\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    106\u001B[0m         \u001B[0mlines\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mf\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mreadlines\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    107\u001B[0m         \u001B[0mlines\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mlist\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mmap\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;32mlambda\u001B[0m \u001B[0mx\u001B[0m\u001B[1;33m:\u001B[0m \u001B[0mx\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mstrip\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mlines\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
      "\u001B[1;31mFileNotFoundError\u001B[0m: [Errno 2] No such file or directory: './bert/bert-mini/vocab.txt'"
     ]
    }
   ],
   "execution_count": 8
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T01:44:12.435632Z",
     "start_time": "2020-08-15T01:44:12.429420Z"
    }
   },
   "outputs": [],
   "source": [
    "# build optimizer\n",
    "learning_rate = 2e-4\n",
    "bert_lr = 5e-5\n",
    "decay = .75\n",
    "decay_step = 1000\n",
    "from transformers import AdamW, get_linear_schedule_with_warmup\n",
    "\n",
    "\n",
    "class Optimizer:\n",
    "    def __init__(self, model_parameters, steps):\n",
    "        self.all_params = []\n",
    "        self.optims = []\n",
    "        self.schedulers = []\n",
    "\n",
    "        for name, parameters in model_parameters.items():\n",
    "            if name.startswith(\"basic\"):\n",
    "                optim = torch.optim.Adam(parameters, lr=learning_rate)\n",
    "                self.optims.append(optim)\n",
    "\n",
    "                l = lambda step: decay ** (step // decay_step)\n",
    "                scheduler = torch.optim.lr_scheduler.LambdaLR(optim, lr_lambda=l)\n",
    "                self.schedulers.append(scheduler)\n",
    "                self.all_params.extend(parameters)\n",
    "            elif name.startswith(\"bert\"):\n",
    "                optim_bert = AdamW(parameters, bert_lr, eps=1e-8)\n",
    "                self.optims.append(optim_bert)\n",
    "\n",
    "                scheduler_bert = get_linear_schedule_with_warmup(optim_bert, 0, steps)\n",
    "                self.schedulers.append(scheduler_bert)\n",
    "\n",
    "                for group in parameters:\n",
    "                    for p in group['params']:\n",
    "                        self.all_params.append(p)\n",
    "            else:\n",
    "                Exception(\"no nameed parameters.\")\n",
    "\n",
    "        self.num = len(self.optims)\n",
    "\n",
    "    def step(self):\n",
    "        for optim, scheduler in zip(self.optims, self.schedulers):\n",
    "            optim.step()\n",
    "            scheduler.step()\n",
    "            optim.zero_grad()\n",
    "\n",
    "    def zero_grad(self):\n",
    "        for optim in self.optims:\n",
    "            optim.zero_grad()\n",
    "\n",
    "    def get_lr(self):\n",
    "        lrs = tuple(map(lambda x: x.get_lr()[-1], self.schedulers))\n",
    "        lr = ' %.5f' * self.num\n",
    "        res = lr % lrs\n",
    "        return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T01:44:12.520278Z",
     "start_time": "2020-08-15T01:44:12.436617Z"
    }
   },
   "outputs": [],
   "source": [
    "# build dataset\n",
    "def sentence_split(text, vocab, max_sent_len=256, max_segment=16):\n",
    "    words = text.strip().split()\n",
    "    document_len = len(words)\n",
    "\n",
    "    index = list(range(0, document_len, max_sent_len))\n",
    "    index.append(document_len)\n",
    "\n",
    "    segments = []\n",
    "    for i in range(len(index) - 1):\n",
    "        segment = words[index[i]: index[i + 1]]\n",
    "        assert len(segment) > 0\n",
    "        segment = [word if word in vocab._id2word else '<UNK>' for word in segment]\n",
    "        segments.append([len(segment), segment])\n",
    "\n",
    "    assert len(segments) > 0\n",
    "    if len(segments) > max_segment:\n",
    "        segment_ = int(max_segment / 2)\n",
    "        return segments[:segment_] + segments[-segment_:]\n",
    "    else:\n",
    "        return segments\n",
    "\n",
    "\n",
    "def get_examples(data, word_encoder, vocab, max_sent_len=256, max_segment=8):\n",
    "    label2id = vocab.label2id\n",
    "    examples = []\n",
    "\n",
    "    for text, label in zip(data['text'], data['label']):\n",
    "        # label\n",
    "        id = label2id(label)\n",
    "\n",
    "        # words\n",
    "        sents_words = sentence_split(text, vocab, max_sent_len-2, max_segment)\n",
    "        doc = []\n",
    "        for sent_len, sent_words in sents_words:\n",
    "            token_ids = word_encoder.encode(sent_words)\n",
    "            sent_len = len(token_ids)\n",
    "            token_type_ids = [0] * sent_len\n",
    "            doc.append([sent_len, token_ids, token_type_ids])\n",
    "        examples.append([id, len(doc), doc])\n",
    "\n",
    "    logging.info('Total %d docs.' % len(examples))\n",
    "    return examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T01:44:12.597817Z",
     "start_time": "2020-08-15T01:44:12.523237Z"
    }
   },
   "outputs": [],
   "source": [
    "# build loader\n",
    "\n",
    "def batch_slice(data, batch_size):\n",
    "    batch_num = int(np.ceil(len(data) / float(batch_size)))\n",
    "    for i in range(batch_num):\n",
    "        cur_batch_size = batch_size if i < batch_num - 1 else len(data) - batch_size * i\n",
    "        docs = [data[i * batch_size + b] for b in range(cur_batch_size)]\n",
    "\n",
    "        yield docs\n",
    "\n",
    "\n",
    "def data_iter(data, batch_size, shuffle=True, noise=1.0):\n",
    "    \"\"\"\n",
    "    randomly permute data, then sort by source length, and partition into batches\n",
    "    ensure that the length of  sentences in each batch\n",
    "    \"\"\"\n",
    "\n",
    "    batched_data = []\n",
    "    if shuffle:\n",
    "        np.random.shuffle(data)\n",
    "\n",
    "        lengths = [example[1] for example in data]\n",
    "        noisy_lengths = [- (l + np.random.uniform(- noise, noise)) for l in lengths]\n",
    "        sorted_indices = np.argsort(noisy_lengths).tolist()\n",
    "        sorted_data = [data[i] for i in sorted_indices]\n",
    "    else:\n",
    "        sorted_data =data\n",
    "        \n",
    "    batched_data.extend(list(batch_slice(sorted_data, batch_size)))\n",
    "\n",
    "    if shuffle:\n",
    "        np.random.shuffle(batched_data)\n",
    "\n",
    "    for batch in batched_data:\n",
    "        yield batch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T01:44:12.675117Z",
     "start_time": "2020-08-15T01:44:12.601690Z"
    }
   },
   "outputs": [],
   "source": [
    "# some function\n",
    "from sklearn.metrics import f1_score, precision_score, recall_score\n",
    "\n",
    "\n",
    "def get_score(y_ture, y_pred):\n",
    "    y_ture = np.array(y_ture)\n",
    "    y_pred = np.array(y_pred)\n",
    "    f1 = f1_score(y_ture, y_pred, average='macro') * 100\n",
    "    p = precision_score(y_ture, y_pred, average='macro') * 100\n",
    "    r = recall_score(y_ture, y_pred, average='macro') * 100\n",
    "\n",
    "    return str((reformat(p, 2), reformat(r, 2), reformat(f1, 2))), reformat(f1, 2)\n",
    "\n",
    "\n",
    "def reformat(num, n):\n",
    "    return float(format(num, '0.' + str(n) + 'f'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T01:44:12.805360Z",
     "start_time": "2020-08-15T01:44:12.677358Z"
    }
   },
   "outputs": [],
   "source": [
    "# build trainer\n",
    "\n",
    "import time\n",
    "from sklearn.metrics import classification_report\n",
    "\n",
    "clip = 5.0\n",
    "epochs = 1\n",
    "early_stops = 3\n",
    "log_interval = 50\n",
    "\n",
    "test_batch_size = 16\n",
    "train_batch_size = 16\n",
    "\n",
    "save_model = './bert.bin'\n",
    "save_test = './bert.csv'\n",
    "\n",
    "class Trainer():\n",
    "    def __init__(self, model, vocab):\n",
    "        self.model = model\n",
    "        self.report = True\n",
    "        \n",
    "        self.train_data = get_examples(train_data, model.word_encoder, vocab)\n",
    "        self.batch_num = int(np.ceil(len(self.train_data) / float(train_batch_size)))\n",
    "        self.dev_data = get_examples(dev_data, model.word_encoder, vocab)\n",
    "        self.test_data = get_examples(test_data, model.word_encoder, vocab)\n",
    "\n",
    "        # criterion\n",
    "        self.criterion = nn.CrossEntropyLoss()\n",
    "\n",
    "        # label name\n",
    "        self.target_names = vocab.target_names\n",
    "\n",
    "        # optimizer\n",
    "        self.optimizer = Optimizer(model.all_parameters, steps=self.batch_num * epochs)\n",
    "\n",
    "        # count\n",
    "        self.step = 0\n",
    "        self.early_stop = -1\n",
    "        self.best_train_f1, self.best_dev_f1 = 0, 0\n",
    "        self.last_epoch = epochs\n",
    "\n",
    "    def train(self):\n",
    "        logging.info('Start training...')\n",
    "        for epoch in range(1, epochs + 1):\n",
    "            train_f1 = self._train(epoch)\n",
    "\n",
    "            dev_f1 = self._eval(epoch)\n",
    "\n",
    "            if self.best_dev_f1 <= dev_f1:\n",
    "                logging.info(\n",
    "                    \"Exceed history dev = %.2f, current dev = %.2f\" % (self.best_dev_f1, dev_f1))\n",
    "                torch.save(self.model.state_dict(), save_model)\n",
    "\n",
    "                self.best_train_f1 = train_f1\n",
    "                self.best_dev_f1 = dev_f1\n",
    "                self.early_stop = 0\n",
    "            else:\n",
    "                self.early_stop += 1\n",
    "                if self.early_stop == early_stops:\n",
    "                    logging.info(\n",
    "                        \"Eearly stop in epoch %d, best train: %.2f, dev: %.2f\" % (\n",
    "                            epoch - early_stops, self.best_train_f1, self.best_dev_f1))\n",
    "                    self.last_epoch = epoch\n",
    "                    break\n",
    "    def test(self):\n",
    "        self.model.load_state_dict(torch.load(save_model))\n",
    "        self._eval(self.last_epoch + 1, test=True)\n",
    "\n",
    "    def _train(self, epoch):\n",
    "        self.optimizer.zero_grad()\n",
    "        self.model.train()\n",
    "\n",
    "        start_time = time.time()\n",
    "        epoch_start_time = time.time()\n",
    "        overall_losses = 0\n",
    "        losses = 0\n",
    "        batch_idx = 1\n",
    "        y_pred = []\n",
    "        y_true = []\n",
    "        for batch_data in data_iter(self.train_data, train_batch_size, shuffle=True):\n",
    "            torch.cuda.empty_cache()\n",
    "            batch_inputs, batch_labels = self.batch2tensor(batch_data)\n",
    "            batch_outputs = self.model(batch_inputs)\n",
    "            loss = self.criterion(batch_outputs, batch_labels)\n",
    "            loss.backward()\n",
    "\n",
    "            loss_value = loss.detach().cpu().item()\n",
    "            losses += loss_value\n",
    "            overall_losses += loss_value\n",
    "\n",
    "            y_pred.extend(torch.max(batch_outputs, dim=1)[1].cpu().numpy().tolist())\n",
    "            y_true.extend(batch_labels.cpu().numpy().tolist())\n",
    "\n",
    "            nn.utils.clip_grad_norm_(self.optimizer.all_params, max_norm=clip)\n",
    "            for optimizer, scheduler in zip(self.optimizer.optims, self.optimizer.schedulers):\n",
    "                optimizer.step()\n",
    "                scheduler.step()\n",
    "            self.optimizer.zero_grad()\n",
    "\n",
    "            self.step += 1\n",
    "\n",
    "            if batch_idx % log_interval == 0:\n",
    "                elapsed = time.time() - start_time\n",
    "\n",
    "                lrs = self.optimizer.get_lr()\n",
    "                logging.info(\n",
    "                    '| epoch {:3d} | step {:3d} | batch {:3d}/{:3d} | lr{} | loss {:.4f} | s/batch {:.2f}'.format(\n",
    "                        epoch, self.step, batch_idx, self.batch_num, lrs,\n",
    "                        losses / log_interval,\n",
    "                        elapsed / log_interval))\n",
    "\n",
    "                losses = 0\n",
    "                start_time = time.time()\n",
    "\n",
    "            batch_idx += 1\n",
    "\n",
    "        overall_losses /= self.batch_num\n",
    "        during_time = time.time() - epoch_start_time\n",
    "\n",
    "        # reformat\n",
    "        overall_losses = reformat(overall_losses, 4)\n",
    "        score, f1 = get_score(y_true, y_pred)\n",
    "\n",
    "        logging.info(\n",
    "            '| epoch {:3d} | score {} | f1 {} | loss {:.4f} | time {:.2f}'.format(epoch, score, f1,\n",
    "                                                                                  overall_losses,\n",
    "                                                                                  during_time))\n",
    "        if set(y_true) == set(y_pred) and self.report:\n",
    "            report = classification_report(y_true, y_pred, digits=4, target_names=self.target_names)\n",
    "            logging.info('\\n' + report)\n",
    "\n",
    "        return f1\n",
    "\n",
    "    def _eval(self, epoch, test=False):\n",
    "        self.model.eval()\n",
    "        start_time = time.time()\n",
    "        data = self.test_data if test else self.dev_data\n",
    "        y_pred = []\n",
    "        y_true = []\n",
    "        with torch.no_grad():\n",
    "            for batch_data in data_iter(data, test_batch_size, shuffle=False):\n",
    "                torch.cuda.empty_cache()\n",
    "                batch_inputs, batch_labels = self.batch2tensor(batch_data)\n",
    "                batch_outputs = self.model(batch_inputs)\n",
    "                y_pred.extend(torch.max(batch_outputs, dim=1)[1].cpu().numpy().tolist())\n",
    "                y_true.extend(batch_labels.cpu().numpy().tolist())\n",
    "\n",
    "            score, f1 = get_score(y_true, y_pred)\n",
    "\n",
    "            during_time = time.time() - start_time\n",
    "            \n",
    "            if test:\n",
    "                df = pd.DataFrame({'label': y_pred})\n",
    "                df.to_csv(save_test, index=False, sep=',')\n",
    "            else:\n",
    "                logging.info(\n",
    "                    '| epoch {:3d} | dev | score {} | f1 {} | time {:.2f}'.format(epoch, score, f1,\n",
    "                                                                              during_time))\n",
    "                if set(y_true) == set(y_pred) and self.report:\n",
    "                    report = classification_report(y_true, y_pred, digits=4, target_names=self.target_names)\n",
    "                    logging.info('\\n' + report)\n",
    "\n",
    "        return f1\n",
    "\n",
    "    def batch2tensor(self, batch_data):\n",
    "        '''\n",
    "            [[label, doc_len, [[sent_len, [sent_id0, ...], [sent_id1, ...]], ...]]\n",
    "        '''\n",
    "        batch_size = len(batch_data)\n",
    "        doc_labels = []\n",
    "        doc_lens = []\n",
    "        doc_max_sent_len = []\n",
    "        for doc_data in batch_data:\n",
    "            doc_labels.append(doc_data[0])\n",
    "            doc_lens.append(doc_data[1])\n",
    "            sent_lens = [sent_data[0] for sent_data in doc_data[2]]\n",
    "            max_sent_len = max(sent_lens)\n",
    "            doc_max_sent_len.append(max_sent_len)\n",
    "\n",
    "        max_doc_len = max(doc_lens)\n",
    "        max_sent_len = max(doc_max_sent_len)\n",
    "\n",
    "        batch_inputs1 = torch.zeros((batch_size, max_doc_len, max_sent_len), dtype=torch.int64)\n",
    "        batch_inputs2 = torch.zeros((batch_size, max_doc_len, max_sent_len), dtype=torch.int64)\n",
    "        batch_masks = torch.zeros((batch_size, max_doc_len, max_sent_len), dtype=torch.float32)\n",
    "        batch_labels = torch.LongTensor(doc_labels)\n",
    "\n",
    "        for b in range(batch_size):\n",
    "            for sent_idx in range(doc_lens[b]):\n",
    "                sent_data = batch_data[b][2][sent_idx]\n",
    "                for word_idx in range(sent_data[0]):\n",
    "                    batch_inputs1[b, sent_idx, word_idx] = sent_data[1][word_idx]\n",
    "                    batch_inputs2[b, sent_idx, word_idx] = sent_data[2][word_idx]\n",
    "                    batch_masks[b, sent_idx, word_idx] = 1\n",
    "\n",
    "        if use_cuda:\n",
    "            batch_inputs1 = batch_inputs1.to(device)\n",
    "            batch_inputs2 = batch_inputs2.to(device)\n",
    "            batch_masks = batch_masks.to(device)\n",
    "            batch_labels = batch_labels.to(device)\n",
    "\n",
    "        return (batch_inputs1, batch_inputs2, batch_masks), batch_labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T05:52:19.335571Z",
     "start_time": "2020-08-15T01:44:17.513899Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "I0815 09:54:09.794379 140011927426880 <ipython-input-17-a2be2485a470>:42] Total 180000 docs.\n",
      "I0815 09:55:16.692047 140011927426880 <ipython-input-17-a2be2485a470>:42] Total 20000 docs.\n",
      "I0815 09:58:02.182405 140011927426880 <ipython-input-17-a2be2485a470>:42] Total 50000 docs.\n",
      "I0815 09:58:02.183480 140011927426880 <ipython-input-20-0b8e68029908>:43] Start training...\n",
      "/usr/local/lib/python3.6/dist-packages/torch/optim/lr_scheduler.py:231: UserWarning: To get the last learning rate computed by the scheduler, please use `get_last_lr()`.\n",
      "  warnings.warn(\"To get the last learning rate computed by the scheduler, \"\n",
      "I0815 09:58:24.616034 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step  50 | batch  50/11250 | lr 0.00020 0.00005 | loss 1.9989 | s/batch 0.45\n",
      "I0815 09:58:44.197553 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 100 | batch 100/11250 | lr 0.00020 0.00005 | loss 1.0792 | s/batch 0.39\n",
      "I0815 09:59:04.678164 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 150 | batch 150/11250 | lr 0.00020 0.00005 | loss 0.9517 | s/batch 0.41\n",
      "I0815 09:59:23.064687 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 200 | batch 200/11250 | lr 0.00020 0.00005 | loss 0.7949 | s/batch 0.37\n",
      "I0815 09:59:43.323087 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 250 | batch 250/11250 | lr 0.00020 0.00005 | loss 0.7225 | s/batch 0.41\n",
      "I0815 10:02:13.722181 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 650 | batch 650/11250 | lr 0.00020 0.00005 | loss 0.4227 | s/batch 0.37\n",
      "I0815 10:02:33.601946 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 700 | batch 700/11250 | lr 0.00020 0.00005 | loss 0.3966 | s/batch 0.40\n",
      "I0815 10:02:52.082159 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 750 | batch 750/11250 | lr 0.00020 0.00005 | loss 0.3491 | s/batch 0.37\n",
      "I0815 10:03:13.505186 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 800 | batch 800/11250 | lr 0.00020 0.00005 | loss 0.3839 | s/batch 0.43\n",
      "I0815 10:03:30.636911 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 850 | batch 850/11250 | lr 0.00020 0.00005 | loss 0.3629 | s/batch 0.34\n",
      "I0815 10:03:50.144907 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 900 | batch 900/11250 | lr 0.00020 0.00005 | loss 0.4315 | s/batch 0.39\n",
      "I0815 10:04:06.971974 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 950 | batch 950/11250 | lr 0.00020 0.00005 | loss 0.3678 | s/batch 0.34\n",
      "I0815 10:04:24.211956 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1000 | batch 1000/11250 | lr 0.00015 0.00005 | loss 0.2790 | s/batch 0.34\n",
      "I0815 10:04:41.946571 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1050 | batch 1050/11250 | lr 0.00015 0.00005 | loss 0.3480 | s/batch 0.35\n",
      "I0815 10:05:00.758358 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1100 | batch 1100/11250 | lr 0.00015 0.00005 | loss 0.3592 | s/batch 0.38\n",
      "I0815 10:05:16.273143 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1150 | batch 1150/11250 | lr 0.00015 0.00004 | loss 0.3521 | s/batch 0.31\n",
      "I0815 10:05:33.915108 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1200 | batch 1200/11250 | lr 0.00015 0.00004 | loss 0.3403 | s/batch 0.35\n",
      "I0815 10:05:51.266690 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1250 | batch 1250/11250 | lr 0.00015 0.00004 | loss 0.3216 | s/batch 0.35\n",
      "I0815 10:06:11.417340 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1300 | batch 1300/11250 | lr 0.00015 0.00004 | loss 0.2856 | s/batch 0.40\n",
      "I0815 10:06:32.575773 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1350 | batch 1350/11250 | lr 0.00015 0.00004 | loss 0.3526 | s/batch 0.42\n",
      "I0815 10:06:51.698929 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1400 | batch 1400/11250 | lr 0.00015 0.00004 | loss 0.3848 | s/batch 0.38\n",
      "I0815 10:07:10.709972 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1450 | batch 1450/11250 | lr 0.00015 0.00004 | loss 0.3479 | s/batch 0.38\n",
      "I0815 10:07:28.382102 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1500 | batch 1500/11250 | lr 0.00015 0.00004 | loss 0.3399 | s/batch 0.35\n",
      "I0815 10:07:47.658477 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1550 | batch 1550/11250 | lr 0.00015 0.00004 | loss 0.3591 | s/batch 0.39\n",
      "I0815 10:08:07.232327 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1600 | batch 1600/11250 | lr 0.00015 0.00004 | loss 0.3955 | s/batch 0.39\n",
      "I0815 10:08:25.907253 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1650 | batch 1650/11250 | lr 0.00015 0.00004 | loss 0.3021 | s/batch 0.37\n",
      "I0815 10:08:41.980597 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1700 | batch 1700/11250 | lr 0.00015 0.00004 | loss 0.2819 | s/batch 0.32\n",
      "I0815 10:09:04.225869 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1750 | batch 1750/11250 | lr 0.00015 0.00004 | loss 0.3495 | s/batch 0.44\n",
      "I0815 10:09:24.296411 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1800 | batch 1800/11250 | lr 0.00015 0.00004 | loss 0.3682 | s/batch 0.40\n",
      "I0815 10:09:43.134116 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1850 | batch 1850/11250 | lr 0.00015 0.00004 | loss 0.2749 | s/batch 0.38\n",
      "I0815 10:10:00.010966 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1900 | batch 1900/11250 | lr 0.00015 0.00004 | loss 0.2633 | s/batch 0.34\n",
      "I0815 10:10:20.084780 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 1950 | batch 1950/11250 | lr 0.00015 0.00004 | loss 0.3287 | s/batch 0.40\n",
      "I0815 10:10:38.213467 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2000 | batch 2000/11250 | lr 0.00011 0.00004 | loss 0.2816 | s/batch 0.36\n",
      "I0815 10:10:57.544543 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2050 | batch 2050/11250 | lr 0.00011 0.00004 | loss 0.3039 | s/batch 0.39\n",
      "I0815 10:11:14.572145 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2100 | batch 2100/11250 | lr 0.00011 0.00004 | loss 0.2673 | s/batch 0.34\n",
      "I0815 10:11:33.897217 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2150 | batch 2150/11250 | lr 0.00011 0.00004 | loss 0.2897 | s/batch 0.39\n",
      "I0815 10:11:52.793579 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2200 | batch 2200/11250 | lr 0.00011 0.00004 | loss 0.2742 | s/batch 0.38\n",
      "I0815 10:12:09.315617 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2250 | batch 2250/11250 | lr 0.00011 0.00004 | loss 0.2567 | s/batch 0.33\n",
      "I0815 10:12:27.725307 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2300 | batch 2300/11250 | lr 0.00011 0.00004 | loss 0.2739 | s/batch 0.37\n",
      "I0815 10:12:44.593814 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2350 | batch 2350/11250 | lr 0.00011 0.00004 | loss 0.2638 | s/batch 0.34\n",
      "I0815 10:13:02.160753 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2400 | batch 2400/11250 | lr 0.00011 0.00004 | loss 0.2354 | s/batch 0.35\n",
      "I0815 10:13:19.514826 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2450 | batch 2450/11250 | lr 0.00011 0.00004 | loss 0.2654 | s/batch 0.35\n",
      "I0815 10:13:38.592807 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2500 | batch 2500/11250 | lr 0.00011 0.00004 | loss 0.2801 | s/batch 0.38\n",
      "I0815 10:13:57.545836 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2550 | batch 2550/11250 | lr 0.00011 0.00004 | loss 0.2309 | s/batch 0.38\n",
      "I0815 10:14:14.802541 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2600 | batch 2600/11250 | lr 0.00011 0.00004 | loss 0.2481 | s/batch 0.35\n",
      "I0815 10:14:33.969186 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2650 | batch 2650/11250 | lr 0.00011 0.00004 | loss 0.2744 | s/batch 0.38\n",
      "I0815 10:14:55.495954 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2700 | batch 2700/11250 | lr 0.00011 0.00004 | loss 0.3325 | s/batch 0.43\n",
      "I0815 10:15:17.316289 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2750 | batch 2750/11250 | lr 0.00011 0.00004 | loss 0.2862 | s/batch 0.44\n",
      "I0815 10:15:37.003759 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2800 | batch 2800/11250 | lr 0.00011 0.00004 | loss 0.2271 | s/batch 0.39\n",
      "I0815 10:15:54.745710 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2850 | batch 2850/11250 | lr 0.00011 0.00004 | loss 0.3139 | s/batch 0.35\n",
      "I0815 10:16:11.666773 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2900 | batch 2900/11250 | lr 0.00011 0.00004 | loss 0.2588 | s/batch 0.34\n",
      "I0815 10:16:29.211768 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 2950 | batch 2950/11250 | lr 0.00011 0.00004 | loss 0.2553 | s/batch 0.35\n",
      "I0815 10:16:46.887735 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3000 | batch 3000/11250 | lr 0.00008 0.00004 | loss 0.2731 | s/batch 0.35\n",
      "I0815 10:17:07.920289 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3050 | batch 3050/11250 | lr 0.00008 0.00004 | loss 0.2399 | s/batch 0.42\n",
      "I0815 10:17:26.636898 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3100 | batch 3100/11250 | lr 0.00008 0.00004 | loss 0.2747 | s/batch 0.37\n",
      "I0815 10:17:44.412091 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3150 | batch 3150/11250 | lr 0.00008 0.00004 | loss 0.3052 | s/batch 0.36\n",
      "I0815 10:18:02.089503 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3200 | batch 3200/11250 | lr 0.00008 0.00004 | loss 0.2106 | s/batch 0.35\n",
      "I0815 10:18:22.025712 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3250 | batch 3250/11250 | lr 0.00008 0.00004 | loss 0.2399 | s/batch 0.40\n",
      "I0815 10:18:39.544134 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3300 | batch 3300/11250 | lr 0.00008 0.00004 | loss 0.2543 | s/batch 0.35\n",
      "I0815 10:18:57.904621 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3350 | batch 3350/11250 | lr 0.00008 0.00004 | loss 0.1900 | s/batch 0.37\n",
      "I0815 10:19:15.663069 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3400 | batch 3400/11250 | lr 0.00008 0.00003 | loss 0.1967 | s/batch 0.36\n",
      "I0815 10:19:33.289362 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3450 | batch 3450/11250 | lr 0.00008 0.00003 | loss 0.2502 | s/batch 0.35\n",
      "I0815 10:19:53.403541 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3500 | batch 3500/11250 | lr 0.00008 0.00003 | loss 0.3016 | s/batch 0.40\n",
      "I0815 10:20:11.012781 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3550 | batch 3550/11250 | lr 0.00008 0.00003 | loss 0.2091 | s/batch 0.35\n",
      "I0815 10:20:28.291024 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3600 | batch 3600/11250 | lr 0.00008 0.00003 | loss 0.2309 | s/batch 0.35\n",
      "I0815 10:20:47.724180 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3650 | batch 3650/11250 | lr 0.00008 0.00003 | loss 0.2992 | s/batch 0.39\n",
      "I0815 10:21:08.375739 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3700 | batch 3700/11250 | lr 0.00008 0.00003 | loss 0.2557 | s/batch 0.41\n",
      "I0815 10:21:25.209327 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3750 | batch 3750/11250 | lr 0.00008 0.00003 | loss 0.2298 | s/batch 0.34\n",
      "I0815 10:21:45.081442 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3800 | batch 3800/11250 | lr 0.00008 0.00003 | loss 0.2621 | s/batch 0.40\n",
      "I0815 10:22:03.855824 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3850 | batch 3850/11250 | lr 0.00008 0.00003 | loss 0.2333 | s/batch 0.38\n",
      "I0815 10:22:22.913591 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3900 | batch 3900/11250 | lr 0.00008 0.00003 | loss 0.2610 | s/batch 0.38\n",
      "I0815 10:22:42.172804 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 3950 | batch 3950/11250 | lr 0.00008 0.00003 | loss 0.2587 | s/batch 0.39\n",
      "I0815 10:23:02.227617 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4000 | batch 4000/11250 | lr 0.00006 0.00003 | loss 0.1911 | s/batch 0.40\n",
      "I0815 10:23:21.692730 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4050 | batch 4050/11250 | lr 0.00006 0.00003 | loss 0.3046 | s/batch 0.39\n",
      "I0815 10:23:39.647372 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4100 | batch 4100/11250 | lr 0.00006 0.00003 | loss 0.1687 | s/batch 0.36\n",
      "I0815 10:23:56.927506 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4150 | batch 4150/11250 | lr 0.00006 0.00003 | loss 0.2389 | s/batch 0.35\n",
      "I0815 10:24:17.227009 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4200 | batch 4200/11250 | lr 0.00006 0.00003 | loss 0.2416 | s/batch 0.41\n",
      "I0815 10:24:35.068175 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4250 | batch 4250/11250 | lr 0.00006 0.00003 | loss 0.2549 | s/batch 0.36\n",
      "I0815 10:24:54.090452 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4300 | batch 4300/11250 | lr 0.00006 0.00003 | loss 0.2491 | s/batch 0.38\n",
      "I0815 10:25:13.178516 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4350 | batch 4350/11250 | lr 0.00006 0.00003 | loss 0.1949 | s/batch 0.38\n",
      "I0815 10:25:33.157518 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4400 | batch 4400/11250 | lr 0.00006 0.00003 | loss 0.2531 | s/batch 0.40\n",
      "I0815 10:25:51.846256 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4450 | batch 4450/11250 | lr 0.00006 0.00003 | loss 0.2073 | s/batch 0.37\n",
      "I0815 10:26:13.125601 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4500 | batch 4500/11250 | lr 0.00006 0.00003 | loss 0.2755 | s/batch 0.43\n",
      "I0815 10:26:33.553254 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4550 | batch 4550/11250 | lr 0.00006 0.00003 | loss 0.2555 | s/batch 0.41\n",
      "I0815 10:26:47.286983 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4600 | batch 4600/11250 | lr 0.00006 0.00003 | loss 0.1910 | s/batch 0.27\n",
      "I0815 10:27:05.751258 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4650 | batch 4650/11250 | lr 0.00006 0.00003 | loss 0.1625 | s/batch 0.37\n",
      "I0815 10:27:23.574695 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4700 | batch 4700/11250 | lr 0.00006 0.00003 | loss 0.2197 | s/batch 0.36\n",
      "I0815 10:27:43.494984 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4750 | batch 4750/11250 | lr 0.00006 0.00003 | loss 0.2127 | s/batch 0.40\n",
      "I0815 10:28:02.595984 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4800 | batch 4800/11250 | lr 0.00006 0.00003 | loss 0.2220 | s/batch 0.38\n",
      "I0815 10:28:24.003307 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4850 | batch 4850/11250 | lr 0.00006 0.00003 | loss 0.2816 | s/batch 0.43\n",
      "I0815 10:28:42.878842 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4900 | batch 4900/11250 | lr 0.00006 0.00003 | loss 0.2227 | s/batch 0.38\n",
      "I0815 10:29:02.040991 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 4950 | batch 4950/11250 | lr 0.00006 0.00003 | loss 0.2401 | s/batch 0.38\n",
      "I0815 10:29:19.085091 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5000 | batch 5000/11250 | lr 0.00005 0.00003 | loss 0.1870 | s/batch 0.34\n",
      "I0815 10:29:39.486459 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5050 | batch 5050/11250 | lr 0.00005 0.00003 | loss 0.1932 | s/batch 0.41\n",
      "I0815 10:29:58.676646 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5100 | batch 5100/11250 | lr 0.00005 0.00003 | loss 0.1963 | s/batch 0.38\n",
      "I0815 10:30:16.997175 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5150 | batch 5150/11250 | lr 0.00005 0.00003 | loss 0.2314 | s/batch 0.37\n",
      "I0815 10:30:35.530750 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5200 | batch 5200/11250 | lr 0.00005 0.00003 | loss 0.2206 | s/batch 0.37\n",
      "I0815 10:30:54.695148 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5250 | batch 5250/11250 | lr 0.00005 0.00003 | loss 0.2248 | s/batch 0.38\n",
      "I0815 10:31:11.935815 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5300 | batch 5300/11250 | lr 0.00005 0.00003 | loss 0.1767 | s/batch 0.34\n",
      "I0815 10:31:31.571663 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5350 | batch 5350/11250 | lr 0.00005 0.00003 | loss 0.1870 | s/batch 0.39\n",
      "I0815 10:31:49.264027 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5400 | batch 5400/11250 | lr 0.00005 0.00003 | loss 0.1654 | s/batch 0.35\n",
      "I0815 10:32:10.160513 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5450 | batch 5450/11250 | lr 0.00005 0.00003 | loss 0.2133 | s/batch 0.42\n",
      "I0815 10:32:29.313760 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5500 | batch 5500/11250 | lr 0.00005 0.00003 | loss 0.2117 | s/batch 0.38\n",
      "I0815 10:32:52.666129 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5550 | batch 5550/11250 | lr 0.00005 0.00003 | loss 0.2122 | s/batch 0.47\n",
      "I0815 10:33:12.666977 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5600 | batch 5600/11250 | lr 0.00005 0.00003 | loss 0.2883 | s/batch 0.40\n",
      "I0815 10:33:29.727512 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5650 | batch 5650/11250 | lr 0.00005 0.00002 | loss 0.2076 | s/batch 0.34\n",
      "I0815 10:33:50.094854 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5700 | batch 5700/11250 | lr 0.00005 0.00002 | loss 0.2232 | s/batch 0.41\n",
      "I0815 10:34:08.708729 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5750 | batch 5750/11250 | lr 0.00005 0.00002 | loss 0.1824 | s/batch 0.37\n",
      "I0815 10:34:28.736106 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5800 | batch 5800/11250 | lr 0.00005 0.00002 | loss 0.1996 | s/batch 0.40\n",
      "I0815 10:34:50.332125 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5850 | batch 5850/11250 | lr 0.00005 0.00002 | loss 0.2648 | s/batch 0.43\n",
      "I0815 10:35:08.254062 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5900 | batch 5900/11250 | lr 0.00005 0.00002 | loss 0.2544 | s/batch 0.36\n",
      "I0815 10:35:26.767716 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 5950 | batch 5950/11250 | lr 0.00005 0.00002 | loss 0.2472 | s/batch 0.37\n",
      "I0815 10:35:46.454238 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6000 | batch 6000/11250 | lr 0.00004 0.00002 | loss 0.2199 | s/batch 0.39\n",
      "I0815 10:36:08.118352 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6050 | batch 6050/11250 | lr 0.00004 0.00002 | loss 0.2038 | s/batch 0.43\n",
      "I0815 10:36:27.971170 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6100 | batch 6100/11250 | lr 0.00004 0.00002 | loss 0.1773 | s/batch 0.40\n",
      "I0815 10:36:46.680390 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6150 | batch 6150/11250 | lr 0.00004 0.00002 | loss 0.2476 | s/batch 0.37\n",
      "I0815 10:37:08.149843 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6200 | batch 6200/11250 | lr 0.00004 0.00002 | loss 0.2133 | s/batch 0.43\n",
      "I0815 10:37:28.823148 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6250 | batch 6250/11250 | lr 0.00004 0.00002 | loss 0.2524 | s/batch 0.41\n",
      "I0815 10:37:48.244544 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6300 | batch 6300/11250 | lr 0.00004 0.00002 | loss 0.1639 | s/batch 0.39\n",
      "I0815 10:38:07.068417 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6350 | batch 6350/11250 | lr 0.00004 0.00002 | loss 0.2048 | s/batch 0.38\n",
      "I0815 10:38:25.201361 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6400 | batch 6400/11250 | lr 0.00004 0.00002 | loss 0.2120 | s/batch 0.36\n",
      "I0815 10:38:44.066672 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6450 | batch 6450/11250 | lr 0.00004 0.00002 | loss 0.1889 | s/batch 0.38\n",
      "I0815 10:39:06.511135 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6500 | batch 6500/11250 | lr 0.00004 0.00002 | loss 0.2176 | s/batch 0.45\n",
      "I0815 10:39:26.523420 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6550 | batch 6550/11250 | lr 0.00004 0.00002 | loss 0.1902 | s/batch 0.40\n",
      "I0815 10:39:47.772271 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6600 | batch 6600/11250 | lr 0.00004 0.00002 | loss 0.1983 | s/batch 0.42\n",
      "I0815 10:40:04.878062 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6650 | batch 6650/11250 | lr 0.00004 0.00002 | loss 0.1934 | s/batch 0.34\n",
      "I0815 10:40:26.027303 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6700 | batch 6700/11250 | lr 0.00004 0.00002 | loss 0.1870 | s/batch 0.42\n",
      "I0815 10:40:46.429878 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6750 | batch 6750/11250 | lr 0.00004 0.00002 | loss 0.1915 | s/batch 0.41\n",
      "I0815 10:41:06.703567 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6800 | batch 6800/11250 | lr 0.00004 0.00002 | loss 0.2050 | s/batch 0.41\n",
      "I0815 10:41:25.444283 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6850 | batch 6850/11250 | lr 0.00004 0.00002 | loss 0.2255 | s/batch 0.37\n",
      "I0815 10:41:44.200241 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6900 | batch 6900/11250 | lr 0.00004 0.00002 | loss 0.1762 | s/batch 0.38\n",
      "I0815 10:42:04.672351 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 6950 | batch 6950/11250 | lr 0.00004 0.00002 | loss 0.1990 | s/batch 0.41\n",
      "I0815 10:42:23.768165 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7000 | batch 7000/11250 | lr 0.00003 0.00002 | loss 0.1918 | s/batch 0.38\n",
      "I0815 10:42:42.805865 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7050 | batch 7050/11250 | lr 0.00003 0.00002 | loss 0.2362 | s/batch 0.38\n",
      "I0815 10:43:04.809990 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7100 | batch 7100/11250 | lr 0.00003 0.00002 | loss 0.2324 | s/batch 0.44\n",
      "I0815 10:43:25.313524 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7150 | batch 7150/11250 | lr 0.00003 0.00002 | loss 0.2327 | s/batch 0.41\n",
      "I0815 10:43:45.511943 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7200 | batch 7200/11250 | lr 0.00003 0.00002 | loss 0.1388 | s/batch 0.40\n",
      "I0815 10:44:03.147189 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7250 | batch 7250/11250 | lr 0.00003 0.00002 | loss 0.2020 | s/batch 0.35\n",
      "I0815 10:44:24.730396 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7300 | batch 7300/11250 | lr 0.00003 0.00002 | loss 0.2090 | s/batch 0.43\n",
      "I0815 10:44:45.702630 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7350 | batch 7350/11250 | lr 0.00003 0.00002 | loss 0.1574 | s/batch 0.42\n",
      "I0815 10:45:04.627746 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7400 | batch 7400/11250 | lr 0.00003 0.00002 | loss 0.1827 | s/batch 0.38\n",
      "I0815 10:45:24.969432 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7450 | batch 7450/11250 | lr 0.00003 0.00002 | loss 0.2191 | s/batch 0.41\n",
      "I0815 10:45:45.699110 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7500 | batch 7500/11250 | lr 0.00003 0.00002 | loss 0.2127 | s/batch 0.41\n",
      "I0815 10:46:04.736503 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7550 | batch 7550/11250 | lr 0.00003 0.00002 | loss 0.1770 | s/batch 0.38\n",
      "I0815 10:46:23.576821 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7600 | batch 7600/11250 | lr 0.00003 0.00002 | loss 0.1215 | s/batch 0.38\n",
      "I0815 10:46:44.372498 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7650 | batch 7650/11250 | lr 0.00003 0.00002 | loss 0.2225 | s/batch 0.42\n",
      "I0815 10:47:02.026421 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7700 | batch 7700/11250 | lr 0.00003 0.00002 | loss 0.1984 | s/batch 0.35\n",
      "I0815 10:47:21.528904 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7750 | batch 7750/11250 | lr 0.00003 0.00002 | loss 0.2354 | s/batch 0.39\n",
      "I0815 10:47:39.589034 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7800 | batch 7800/11250 | lr 0.00003 0.00002 | loss 0.2422 | s/batch 0.36\n",
      "I0815 10:47:58.503706 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7850 | batch 7850/11250 | lr 0.00003 0.00002 | loss 0.1930 | s/batch 0.38\n",
      "I0815 10:48:16.358127 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7900 | batch 7900/11250 | lr 0.00003 0.00001 | loss 0.1539 | s/batch 0.36\n",
      "I0815 10:48:36.905508 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 7950 | batch 7950/11250 | lr 0.00003 0.00001 | loss 0.1682 | s/batch 0.41\n",
      "I0815 10:48:56.410962 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8000 | batch 8000/11250 | lr 0.00002 0.00001 | loss 0.1654 | s/batch 0.39\n",
      "I0815 10:49:14.929143 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8050 | batch 8050/11250 | lr 0.00002 0.00001 | loss 0.1799 | s/batch 0.37\n",
      "I0815 10:49:34.918456 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8100 | batch 8100/11250 | lr 0.00002 0.00001 | loss 0.1904 | s/batch 0.40\n",
      "I0815 10:49:56.411158 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8150 | batch 8150/11250 | lr 0.00002 0.00001 | loss 0.2050 | s/batch 0.43\n",
      "I0815 10:50:13.647079 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8200 | batch 8200/11250 | lr 0.00002 0.00001 | loss 0.2011 | s/batch 0.34\n",
      "I0815 10:50:31.905255 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8250 | batch 8250/11250 | lr 0.00002 0.00001 | loss 0.1838 | s/batch 0.37\n",
      "I0815 10:50:49.817809 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8300 | batch 8300/11250 | lr 0.00002 0.00001 | loss 0.2155 | s/batch 0.36\n",
      "I0815 10:51:12.099715 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8350 | batch 8350/11250 | lr 0.00002 0.00001 | loss 0.1546 | s/batch 0.45\n",
      "I0815 10:51:32.746907 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8400 | batch 8400/11250 | lr 0.00002 0.00001 | loss 0.2564 | s/batch 0.41\n",
      "I0815 10:51:52.883368 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8450 | batch 8450/11250 | lr 0.00002 0.00001 | loss 0.1789 | s/batch 0.40\n",
      "I0815 10:52:12.244463 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8500 | batch 8500/11250 | lr 0.00002 0.00001 | loss 0.2070 | s/batch 0.39\n",
      "I0815 10:52:31.472096 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8550 | batch 8550/11250 | lr 0.00002 0.00001 | loss 0.1946 | s/batch 0.38\n",
      "I0815 10:52:50.145664 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8600 | batch 8600/11250 | lr 0.00002 0.00001 | loss 0.1597 | s/batch 0.37\n",
      "I0815 10:53:12.088030 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8650 | batch 8650/11250 | lr 0.00002 0.00001 | loss 0.1906 | s/batch 0.44\n",
      "I0815 10:53:30.381812 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8700 | batch 8700/11250 | lr 0.00002 0.00001 | loss 0.1842 | s/batch 0.37\n",
      "I0815 10:53:48.757848 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8750 | batch 8750/11250 | lr 0.00002 0.00001 | loss 0.1876 | s/batch 0.37\n",
      "I0815 10:54:10.750231 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8800 | batch 8800/11250 | lr 0.00002 0.00001 | loss 0.1823 | s/batch 0.44\n",
      "I0815 10:54:27.153243 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8850 | batch 8850/11250 | lr 0.00002 0.00001 | loss 0.1593 | s/batch 0.33\n",
      "I0815 10:54:45.828737 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8900 | batch 8900/11250 | lr 0.00002 0.00001 | loss 0.2037 | s/batch 0.37\n",
      "I0815 10:55:04.933317 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 8950 | batch 8950/11250 | lr 0.00002 0.00001 | loss 0.2127 | s/batch 0.38\n",
      "I0815 10:55:23.338682 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9000 | batch 9000/11250 | lr 0.00002 0.00001 | loss 0.1908 | s/batch 0.37\n",
      "I0815 10:55:42.954087 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9050 | batch 9050/11250 | lr 0.00002 0.00001 | loss 0.1384 | s/batch 0.39\n",
      "I0815 10:56:02.736362 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9100 | batch 9100/11250 | lr 0.00002 0.00001 | loss 0.1583 | s/batch 0.40\n",
      "I0815 10:56:21.186377 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9150 | batch 9150/11250 | lr 0.00002 0.00001 | loss 0.1666 | s/batch 0.37\n",
      "I0815 10:56:38.517206 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9200 | batch 9200/11250 | lr 0.00002 0.00001 | loss 0.1959 | s/batch 0.35\n",
      "I0815 10:56:54.498249 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9250 | batch 9250/11250 | lr 0.00002 0.00001 | loss 0.1345 | s/batch 0.32\n",
      "I0815 10:57:12.928481 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9300 | batch 9300/11250 | lr 0.00002 0.00001 | loss 0.1537 | s/batch 0.37\n",
      "I0815 10:57:31.707066 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9350 | batch 9350/11250 | lr 0.00002 0.00001 | loss 0.1396 | s/batch 0.38\n",
      "I0815 10:57:47.384378 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9400 | batch 9400/11250 | lr 0.00002 0.00001 | loss 0.1881 | s/batch 0.31\n",
      "I0815 10:58:05.046523 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9450 | batch 9450/11250 | lr 0.00002 0.00001 | loss 0.1646 | s/batch 0.35\n",
      "I0815 10:58:22.644142 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9500 | batch 9500/11250 | lr 0.00002 0.00001 | loss 0.2003 | s/batch 0.35\n",
      "I0815 10:58:43.511107 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9550 | batch 9550/11250 | lr 0.00002 0.00001 | loss 0.1571 | s/batch 0.42\n",
      "I0815 10:59:00.094278 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9600 | batch 9600/11250 | lr 0.00002 0.00001 | loss 0.2395 | s/batch 0.33\n",
      "I0815 10:59:18.096276 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 9650 | batch 9650/11250 | lr 0.00002 0.00001 | loss 0.2014 | s/batch 0.36\n",
      "I0815 11:01:36.569108 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10000 | batch 10000/11250 | lr 0.00001 0.00001 | loss 0.1974 | s/batch 0.39\n",
      "I0815 11:01:58.744138 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10050 | batch 10050/11250 | lr 0.00001 0.00001 | loss 0.1588 | s/batch 0.44\n",
      "I0815 11:02:16.425472 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10100 | batch 10100/11250 | lr 0.00001 0.00001 | loss 0.2001 | s/batch 0.35\n",
      "I0815 11:02:35.603057 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10150 | batch 10150/11250 | lr 0.00001 0.00000 | loss 0.1427 | s/batch 0.38\n",
      "I0815 11:02:55.079199 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10200 | batch 10200/11250 | lr 0.00001 0.00000 | loss 0.1677 | s/batch 0.39\n",
      "I0815 11:03:14.122218 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10250 | batch 10250/11250 | lr 0.00001 0.00000 | loss 0.1568 | s/batch 0.38\n",
      "I0815 11:03:34.372931 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10300 | batch 10300/11250 | lr 0.00001 0.00000 | loss 0.1851 | s/batch 0.40\n",
      "I0815 11:03:53.461902 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10350 | batch 10350/11250 | lr 0.00001 0.00000 | loss 0.1970 | s/batch 0.38\n",
      "I0815 11:04:13.236487 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10400 | batch 10400/11250 | lr 0.00001 0.00000 | loss 0.1969 | s/batch 0.40\n",
      "I0815 11:04:32.832596 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10450 | batch 10450/11250 | lr 0.00001 0.00000 | loss 0.1874 | s/batch 0.39\n",
      "I0815 11:04:53.769416 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10500 | batch 10500/11250 | lr 0.00001 0.00000 | loss 0.1408 | s/batch 0.42\n",
      "I0815 11:05:11.914578 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10550 | batch 10550/11250 | lr 0.00001 0.00000 | loss 0.1659 | s/batch 0.36\n",
      "I0815 11:05:30.945842 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10600 | batch 10600/11250 | lr 0.00001 0.00000 | loss 0.2023 | s/batch 0.38\n",
      "I0815 11:05:46.901402 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10650 | batch 10650/11250 | lr 0.00001 0.00000 | loss 0.1452 | s/batch 0.32\n",
      "I0815 11:06:04.346033 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10700 | batch 10700/11250 | lr 0.00001 0.00000 | loss 0.1713 | s/batch 0.35\n",
      "I0815 11:06:23.132890 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10750 | batch 10750/11250 | lr 0.00001 0.00000 | loss 0.1779 | s/batch 0.38\n",
      "I0815 11:06:40.540946 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10800 | batch 10800/11250 | lr 0.00001 0.00000 | loss 0.1559 | s/batch 0.35\n",
      "I0815 11:06:57.670625 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10850 | batch 10850/11250 | lr 0.00001 0.00000 | loss 0.1959 | s/batch 0.34\n",
      "I0815 11:07:16.189565 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10900 | batch 10900/11250 | lr 0.00001 0.00000 | loss 0.1644 | s/batch 0.37\n",
      "I0815 11:07:34.093334 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 10950 | batch 10950/11250 | lr 0.00001 0.00000 | loss 0.1732 | s/batch 0.36\n",
      "I0815 11:07:52.811745 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11000 | batch 11000/11250 | lr 0.00001 0.00000 | loss 0.1311 | s/batch 0.37\n",
      "I0815 11:08:11.658332 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11050 | batch 11050/11250 | lr 0.00001 0.00000 | loss 0.1223 | s/batch 0.38\n",
      "I0815 11:08:31.511981 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11100 | batch 11100/11250 | lr 0.00001 0.00000 | loss 0.1369 | s/batch 0.40\n",
      "I0815 11:08:50.077897 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11150 | batch 11150/11250 | lr 0.00001 0.00000 | loss 0.1471 | s/batch 0.37\n",
      "I0815 11:09:09.225293 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11200 | batch 11200/11250 | lr 0.00001 0.00000 | loss 0.1504 | s/batch 0.38\n",
      "I0815 11:09:27.850741 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11250 | batch 11250/11250 | lr 0.00001 0.00000 | loss 0.1728 | s/batch 0.37\n",
      "I0815 11:09:28.070160 140011927426880 <ipython-input-20-0b8e68029908>:127] | epoch   1 | score (90.97, 89.1, 90.0) | f1 90.0 | loss 0.2550 | time 4285.68\n",
      "I0815 11:09:28.395897 140011927426880 <ipython-input-20-0b8e68029908>:130] \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          科技     0.9214    0.9316    0.9265     35027\n",
      "          股票     0.9263    0.9380    0.9321     33251\n",
      "          体育     0.9790    0.9818    0.9804     28283\n",
      "          娱乐     0.9364    0.9533    0.9448     19920\n",
      "          时政     0.8819    0.8953    0.8886     13515\n",
      "          社会     0.8708    0.8635    0.8671     11009\n",
      "          教育     0.9305    0.9261    0.9283      8987\n",
      "          财经     0.8761    0.8077    0.8405      7957\n",
      "          家居     0.8954    0.8886    0.8920      7063\n",
      "          游戏     0.9082    0.8692    0.8883      5291\n",
      "          房产     0.9259    0.8941    0.9097      4428\n",
      "          时尚     0.8793    0.8534    0.8662      2818\n",
      "          彩票     0.9209    0.8487    0.8834      1633\n",
      "          星座     0.8832    0.8227    0.8519       818\n",
      "\n",
      "    accuracy                         0.9235    180000\n",
      "   macro avg     0.9097    0.8910    0.9000    180000\n",
      "weighted avg     0.9233    0.9235    0.9233    180000\n",
      "\n",
      "I0815 11:15:22.731574 140011927426880 <ipython-input-20-0b8e68029908>:158] | epoch   1 | dev | score (94.95, 94.63, 94.78) | f1 94.78 | time 354.33\n",
      "I0815 11:15:22.769032 140011927426880 <ipython-input-20-0b8e68029908>:161] \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          科技     0.9517    0.9563    0.9540      3891\n",
      "          股票     0.9606    0.9626    0.9616      3694\n",
      "          体育     0.9858    0.9908    0.9883      3142\n",
      "          娱乐     0.9651    0.9761    0.9706      2213\n",
      "          时政     0.9109    0.9260    0.9184      1501\n",
      "          社会     0.9249    0.9068    0.9158      1223\n",
      "          教育     0.9568    0.9549    0.9559       998\n",
      "          财经     0.9076    0.8778    0.8925       884\n",
      "          家居     0.9596    0.9401    0.9497       784\n",
      "          游戏     0.9522    0.9165    0.9340       587\n",
      "          房产     0.9716    0.9736    0.9726       492\n",
      "          时尚     0.9482    0.9361    0.9421       313\n",
      "          彩票     0.9521    0.9521    0.9521       188\n",
      "          星座     0.9462    0.9778    0.9617        90\n",
      "\n",
      "    accuracy                         0.9546     20000\n",
      "   macro avg     0.9495    0.9463    0.9478     20000\n",
      "weighted avg     0.9545    0.9546    0.9545     20000\n",
      "\n",
      "I0815 11:15:22.770043 140011927426880 <ipython-input-20-0b8e68029908>:51] Exceed history dev = 0.00, current dev = 94.78\n",
      "I0815 11:15:23.438743 140011927426880 <ipython-input-20-0b8e68029908>:43] Start training...\n",
      "I0815 11:15:41.667829 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11300 | batch  50/11250 | lr 0.00001 0.00000 | loss 0.1006 | s/batch 0.36\n",
      "I0815 11:16:00.977730 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11350 | batch 100/11250 | lr 0.00001 0.00000 | loss 0.2005 | s/batch 0.39\n",
      "I0815 11:16:19.973343 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11400 | batch 150/11250 | lr 0.00001 0.00000 | loss 0.1535 | s/batch 0.38\n",
      "I0815 11:16:35.176495 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11450 | batch 200/11250 | lr 0.00001 0.00000 | loss 0.1533 | s/batch 0.30\n",
      "I0815 11:16:51.355892 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11500 | batch 250/11250 | lr 0.00001 0.00000 | loss 0.2059 | s/batch 0.32\n",
      "I0815 11:17:12.366104 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11550 | batch 300/11250 | lr 0.00001 0.00000 | loss 0.1305 | s/batch 0.42\n",
      "I0815 11:17:29.256374 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11600 | batch 350/11250 | lr 0.00001 0.00000 | loss 0.1521 | s/batch 0.34\n",
      "I0815 11:17:45.274513 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11650 | batch 400/11250 | lr 0.00001 0.00000 | loss 0.1306 | s/batch 0.32\n",
      "I0815 11:18:06.275456 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11700 | batch 450/11250 | lr 0.00001 0.00000 | loss 0.1943 | s/batch 0.42\n",
      "I0815 11:18:24.238193 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11750 | batch 500/11250 | lr 0.00001 0.00000 | loss 0.1578 | s/batch 0.36\n",
      "I0815 11:18:46.125323 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11800 | batch 550/11250 | lr 0.00001 0.00000 | loss 0.1516 | s/batch 0.44\n",
      "I0815 11:19:05.698430 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11850 | batch 600/11250 | lr 0.00001 0.00000 | loss 0.1571 | s/batch 0.39\n",
      "I0815 11:19:24.916766 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11900 | batch 650/11250 | lr 0.00001 0.00000 | loss 0.1360 | s/batch 0.38\n",
      "I0815 11:19:47.847271 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 11950 | batch 700/11250 | lr 0.00001 0.00000 | loss 0.1602 | s/batch 0.46\n",
      "I0815 11:20:05.812695 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12000 | batch 750/11250 | lr 0.00001 0.00000 | loss 0.1191 | s/batch 0.36\n",
      "I0815 11:20:24.849294 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12050 | batch 800/11250 | lr 0.00001 0.00000 | loss 0.1976 | s/batch 0.38\n",
      "I0815 11:20:44.225055 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12100 | batch 850/11250 | lr 0.00001 0.00000 | loss 0.1798 | s/batch 0.39\n",
      "I0815 11:21:04.233009 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12150 | batch 900/11250 | lr 0.00001 0.00000 | loss 0.1838 | s/batch 0.40\n",
      "I0815 11:21:23.268239 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12200 | batch 950/11250 | lr 0.00001 0.00000 | loss 0.1266 | s/batch 0.38\n",
      "I0815 11:21:42.263681 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12250 | batch 1000/11250 | lr 0.00001 0.00000 | loss 0.1304 | s/batch 0.38\n",
      "I0815 11:22:01.157020 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12300 | batch 1050/11250 | lr 0.00001 0.00000 | loss 0.1733 | s/batch 0.38\n",
      "I0815 11:22:20.429445 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12350 | batch 1100/11250 | lr 0.00001 0.00000 | loss 0.1366 | s/batch 0.39\n",
      "I0815 11:22:36.461828 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12400 | batch 1150/11250 | lr 0.00001 0.00000 | loss 0.1596 | s/batch 0.32\n",
      "I0815 11:22:54.916849 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12450 | batch 1200/11250 | lr 0.00001 0.00000 | loss 0.1330 | s/batch 0.37\n",
      "I0815 11:23:17.386801 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12500 | batch 1250/11250 | lr 0.00001 0.00000 | loss 0.1302 | s/batch 0.45\n",
      "I0815 11:23:36.961889 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12550 | batch 1300/11250 | lr 0.00001 0.00000 | loss 0.1239 | s/batch 0.39\n",
      "I0815 11:23:56.768031 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12600 | batch 1350/11250 | lr 0.00001 0.00000 | loss 0.1591 | s/batch 0.40\n",
      "I0815 11:24:14.411747 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12650 | batch 1400/11250 | lr 0.00001 0.00000 | loss 0.1565 | s/batch 0.35\n",
      "I0815 11:24:33.914470 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12700 | batch 1450/11250 | lr 0.00001 0.00000 | loss 0.1583 | s/batch 0.39\n",
      "I0815 11:24:53.426648 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12750 | batch 1500/11250 | lr 0.00001 0.00000 | loss 0.1061 | s/batch 0.39\n",
      "I0815 11:25:14.005217 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12800 | batch 1550/11250 | lr 0.00001 0.00000 | loss 0.1857 | s/batch 0.41\n",
      "I0815 11:25:33.512055 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12850 | batch 1600/11250 | lr 0.00001 0.00000 | loss 0.1848 | s/batch 0.39\n",
      "I0815 11:25:50.535100 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12900 | batch 1650/11250 | lr 0.00001 0.00000 | loss 0.1683 | s/batch 0.34\n",
      "I0815 11:26:09.957018 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 12950 | batch 1700/11250 | lr 0.00001 0.00000 | loss 0.1202 | s/batch 0.39\n",
      "I0815 11:26:29.960502 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13000 | batch 1750/11250 | lr 0.00000 0.00000 | loss 0.1293 | s/batch 0.40\n",
      "I0815 11:26:48.817056 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13050 | batch 1800/11250 | lr 0.00000 0.00000 | loss 0.1482 | s/batch 0.38\n",
      "I0815 11:27:07.432322 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13100 | batch 1850/11250 | lr 0.00000 0.00000 | loss 0.1695 | s/batch 0.37\n",
      "I0815 11:27:27.203436 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13150 | batch 1900/11250 | lr 0.00000 0.00000 | loss 0.1542 | s/batch 0.40\n",
      "I0815 11:27:47.740195 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13200 | batch 1950/11250 | lr 0.00000 0.00000 | loss 0.1257 | s/batch 0.41\n",
      "I0815 11:28:04.818485 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13250 | batch 2000/11250 | lr 0.00000 0.00000 | loss 0.1144 | s/batch 0.34\n",
      "I0815 11:28:25.454193 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13300 | batch 2050/11250 | lr 0.00000 0.00000 | loss 0.1681 | s/batch 0.41\n",
      "I0815 11:28:44.528577 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13350 | batch 2100/11250 | lr 0.00000 0.00000 | loss 0.2046 | s/batch 0.38\n",
      "I0815 11:29:04.194352 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13400 | batch 2150/11250 | lr 0.00000 0.00000 | loss 0.1415 | s/batch 0.39\n",
      "I0815 11:29:23.167995 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13450 | batch 2200/11250 | lr 0.00000 0.00000 | loss 0.1241 | s/batch 0.38\n",
      "I0815 11:29:41.310333 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13500 | batch 2250/11250 | lr 0.00000 0.00000 | loss 0.1561 | s/batch 0.36\n",
      "I0815 11:30:00.530740 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13550 | batch 2300/11250 | lr 0.00000 0.00000 | loss 0.0961 | s/batch 0.38\n",
      "I0815 11:30:19.892919 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13600 | batch 2350/11250 | lr 0.00000 0.00000 | loss 0.1834 | s/batch 0.39\n",
      "I0815 11:30:41.106195 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13650 | batch 2400/11250 | lr 0.00000 0.00000 | loss 0.1188 | s/batch 0.42\n",
      "I0815 11:30:59.907088 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13700 | batch 2450/11250 | lr 0.00000 0.00000 | loss 0.1199 | s/batch 0.38\n",
      "I0815 11:31:17.609649 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13750 | batch 2500/11250 | lr 0.00000 0.00000 | loss 0.1347 | s/batch 0.35\n",
      "I0815 11:31:38.701202 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13800 | batch 2550/11250 | lr 0.00000 0.00000 | loss 0.1442 | s/batch 0.42\n",
      "I0815 11:31:56.545256 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13850 | batch 2600/11250 | lr 0.00000 0.00000 | loss 0.1596 | s/batch 0.36\n",
      "I0815 11:32:15.637914 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13900 | batch 2650/11250 | lr 0.00000 0.00000 | loss 0.1425 | s/batch 0.38\n",
      "I0815 11:32:33.914644 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 13950 | batch 2700/11250 | lr 0.00000 0.00000 | loss 0.1744 | s/batch 0.37\n",
      "I0815 11:32:51.070589 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14000 | batch 2750/11250 | lr 0.00000 0.00000 | loss 0.1622 | s/batch 0.34\n",
      "I0815 11:33:12.665701 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14050 | batch 2800/11250 | lr 0.00000 0.00000 | loss 0.1612 | s/batch 0.43\n",
      "I0815 11:33:32.855889 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14100 | batch 2850/11250 | lr 0.00000 0.00000 | loss 0.1718 | s/batch 0.40\n",
      "I0815 11:33:51.624511 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14150 | batch 2900/11250 | lr 0.00000 0.00000 | loss 0.1482 | s/batch 0.38\n",
      "I0815 11:34:08.453886 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14200 | batch 2950/11250 | lr 0.00000 0.00000 | loss 0.1309 | s/batch 0.34\n",
      "I0815 11:34:27.245748 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14250 | batch 3000/11250 | lr 0.00000 0.00000 | loss 0.1557 | s/batch 0.38\n",
      "I0815 11:34:46.236660 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14300 | batch 3050/11250 | lr 0.00000 0.00000 | loss 0.1520 | s/batch 0.38\n",
      "I0815 11:35:03.450509 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14350 | batch 3100/11250 | lr 0.00000 0.00000 | loss 0.1756 | s/batch 0.34\n",
      "I0815 11:35:22.227691 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14400 | batch 3150/11250 | lr 0.00000 0.00000 | loss 0.1597 | s/batch 0.38\n",
      "I0815 11:35:41.601920 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14450 | batch 3200/11250 | lr 0.00000 0.00000 | loss 0.1202 | s/batch 0.39\n",
      "I0815 11:36:01.040531 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14500 | batch 3250/11250 | lr 0.00000 0.00000 | loss 0.1460 | s/batch 0.39\n",
      "I0815 11:36:21.135399 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14550 | batch 3300/11250 | lr 0.00000 0.00000 | loss 0.1403 | s/batch 0.40\n",
      "I0815 11:36:39.880341 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14600 | batch 3350/11250 | lr 0.00000 0.00000 | loss 0.1408 | s/batch 0.37\n",
      "I0815 11:37:00.249338 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14650 | batch 3400/11250 | lr 0.00000 0.00000 | loss 0.1221 | s/batch 0.41\n",
      "I0815 11:37:19.505210 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14700 | batch 3450/11250 | lr 0.00000 0.00000 | loss 0.1797 | s/batch 0.39\n",
      "I0815 11:37:39.393034 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14750 | batch 3500/11250 | lr 0.00000 0.00000 | loss 0.1396 | s/batch 0.40\n",
      "I0815 11:37:56.907438 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14800 | batch 3550/11250 | lr 0.00000 0.00000 | loss 0.1420 | s/batch 0.35\n",
      "I0815 11:38:16.596003 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14850 | batch 3600/11250 | lr 0.00000 0.00000 | loss 0.1333 | s/batch 0.39\n",
      "I0815 11:38:33.136071 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14900 | batch 3650/11250 | lr 0.00000 0.00000 | loss 0.1199 | s/batch 0.33\n",
      "I0815 11:38:50.930231 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 14950 | batch 3700/11250 | lr 0.00000 0.00000 | loss 0.1161 | s/batch 0.36\n",
      "I0815 11:39:09.960709 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15000 | batch 3750/11250 | lr 0.00000 0.00000 | loss 0.1522 | s/batch 0.38\n",
      "I0815 11:39:30.853474 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15050 | batch 3800/11250 | lr 0.00000 0.00000 | loss 0.1487 | s/batch 0.42\n",
      "I0815 11:39:50.331601 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15100 | batch 3850/11250 | lr 0.00000 0.00000 | loss 0.2105 | s/batch 0.39\n",
      "I0815 11:40:09.486399 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15150 | batch 3900/11250 | lr 0.00000 0.00000 | loss 0.1580 | s/batch 0.38\n",
      "I0815 11:40:27.627865 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15200 | batch 3950/11250 | lr 0.00000 0.00000 | loss 0.1468 | s/batch 0.36\n",
      "I0815 11:40:46.671746 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15250 | batch 4000/11250 | lr 0.00000 0.00000 | loss 0.1352 | s/batch 0.38\n",
      "I0815 11:41:07.112987 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15300 | batch 4050/11250 | lr 0.00000 0.00000 | loss 0.1804 | s/batch 0.41\n",
      "I0815 11:41:26.000377 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15350 | batch 4100/11250 | lr 0.00000 0.00000 | loss 0.1037 | s/batch 0.38\n",
      "I0815 11:41:45.604443 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15400 | batch 4150/11250 | lr 0.00000 0.00000 | loss 0.1396 | s/batch 0.39\n",
      "I0815 11:42:04.220731 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15450 | batch 4200/11250 | lr 0.00000 0.00000 | loss 0.1289 | s/batch 0.37\n",
      "I0815 11:42:24.087500 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15500 | batch 4250/11250 | lr 0.00000 0.00000 | loss 0.1652 | s/batch 0.40\n",
      "I0815 11:42:43.320982 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15550 | batch 4300/11250 | lr 0.00000 0.00000 | loss 0.1836 | s/batch 0.38\n",
      "I0815 11:43:01.473188 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15600 | batch 4350/11250 | lr 0.00000 0.00000 | loss 0.1554 | s/batch 0.36\n",
      "I0815 11:43:16.674355 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15650 | batch 4400/11250 | lr 0.00000 0.00000 | loss 0.1254 | s/batch 0.30\n",
      "I0815 11:43:35.241257 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15700 | batch 4450/11250 | lr 0.00000 0.00000 | loss 0.1509 | s/batch 0.37\n",
      "I0815 11:43:54.685583 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15750 | batch 4500/11250 | lr 0.00000 0.00000 | loss 0.1176 | s/batch 0.39\n",
      "I0815 11:44:14.281361 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15800 | batch 4550/11250 | lr 0.00000 0.00000 | loss 0.1237 | s/batch 0.39\n",
      "I0815 11:44:32.483068 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15850 | batch 4600/11250 | lr 0.00000 0.00000 | loss 0.1650 | s/batch 0.36\n",
      "I0815 11:44:50.649767 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15900 | batch 4650/11250 | lr 0.00000 0.00000 | loss 0.1546 | s/batch 0.36\n",
      "I0815 11:45:11.274851 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 15950 | batch 4700/11250 | lr 0.00000 0.00000 | loss 0.1461 | s/batch 0.41\n",
      "I0815 11:45:28.821124 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16000 | batch 4750/11250 | lr 0.00000 0.00000 | loss 0.1392 | s/batch 0.35\n",
      "I0815 11:45:48.654009 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16050 | batch 4800/11250 | lr 0.00000 0.00000 | loss 0.1249 | s/batch 0.40\n",
      "I0815 11:46:07.022280 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16100 | batch 4850/11250 | lr 0.00000 0.00000 | loss 0.1633 | s/batch 0.37\n",
      "I0815 11:46:28.040689 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16150 | batch 4900/11250 | lr 0.00000 0.00000 | loss 0.1534 | s/batch 0.42\n",
      "I0815 11:46:51.030077 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16200 | batch 4950/11250 | lr 0.00000 0.00000 | loss 0.1660 | s/batch 0.46\n",
      "I0815 11:47:09.589800 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16250 | batch 5000/11250 | lr 0.00000 0.00000 | loss 0.1428 | s/batch 0.37\n",
      "I0815 11:47:29.911852 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16300 | batch 5050/11250 | lr 0.00000 0.00000 | loss 0.1730 | s/batch 0.41\n",
      "I0815 11:47:50.344894 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16350 | batch 5100/11250 | lr 0.00000 0.00000 | loss 0.1369 | s/batch 0.41\n",
      "I0815 11:48:08.291108 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16400 | batch 5150/11250 | lr 0.00000 0.00000 | loss 0.1403 | s/batch 0.36\n",
      "I0815 11:48:25.437884 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16450 | batch 5200/11250 | lr 0.00000 0.00000 | loss 0.1590 | s/batch 0.34\n",
      "I0815 11:48:43.903611 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16500 | batch 5250/11250 | lr 0.00000 0.00000 | loss 0.1250 | s/batch 0.37\n",
      "I0815 11:49:03.294698 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16550 | batch 5300/11250 | lr 0.00000 0.00000 | loss 0.1658 | s/batch 0.39\n",
      "I0815 11:49:20.268511 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16600 | batch 5350/11250 | lr 0.00000 0.00000 | loss 0.1387 | s/batch 0.34\n",
      "I0815 11:49:38.162565 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16650 | batch 5400/11250 | lr 0.00000 0.00000 | loss 0.1210 | s/batch 0.36\n",
      "I0815 11:49:54.929038 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16700 | batch 5450/11250 | lr 0.00000 0.00000 | loss 0.1231 | s/batch 0.34\n",
      "I0815 11:50:14.217457 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16750 | batch 5500/11250 | lr 0.00000 0.00000 | loss 0.1183 | s/batch 0.39\n",
      "I0815 11:50:33.029518 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16800 | batch 5550/11250 | lr 0.00000 0.00000 | loss 0.1387 | s/batch 0.38\n",
      "I0815 11:50:53.417488 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16850 | batch 5600/11250 | lr 0.00000 0.00000 | loss 0.1604 | s/batch 0.41\n",
      "I0815 11:51:14.400938 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16900 | batch 5650/11250 | lr 0.00000 0.00000 | loss 0.1446 | s/batch 0.42\n",
      "I0815 11:51:31.843559 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 16950 | batch 5700/11250 | lr 0.00000 0.00000 | loss 0.1812 | s/batch 0.35\n",
      "I0815 11:51:50.856207 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17000 | batch 5750/11250 | lr 0.00000 0.00000 | loss 0.1242 | s/batch 0.38\n",
      "I0815 11:52:09.869868 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17050 | batch 5800/11250 | lr 0.00000 0.00000 | loss 0.1671 | s/batch 0.38\n",
      "I0815 11:52:30.293715 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17100 | batch 5850/11250 | lr 0.00000 0.00000 | loss 0.1453 | s/batch 0.41\n",
      "I0815 11:52:48.024836 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17150 | batch 5900/11250 | lr 0.00000 0.00000 | loss 0.1467 | s/batch 0.35\n",
      "I0815 11:53:07.894986 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17200 | batch 5950/11250 | lr 0.00000 0.00000 | loss 0.1325 | s/batch 0.40\n",
      "I0815 11:53:27.232376 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17250 | batch 6000/11250 | lr 0.00000 0.00000 | loss 0.1122 | s/batch 0.39\n",
      "I0815 11:53:46.494570 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17300 | batch 6050/11250 | lr 0.00000 0.00000 | loss 0.1286 | s/batch 0.39\n",
      "I0815 11:54:04.878931 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17350 | batch 6100/11250 | lr 0.00000 0.00000 | loss 0.1342 | s/batch 0.37\n",
      "I0815 11:54:22.089310 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17400 | batch 6150/11250 | lr 0.00000 0.00000 | loss 0.1820 | s/batch 0.34\n",
      "I0815 11:54:41.302753 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17450 | batch 6200/11250 | lr 0.00000 0.00000 | loss 0.1479 | s/batch 0.38\n",
      "I0815 11:55:01.874592 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17500 | batch 6250/11250 | lr 0.00000 0.00000 | loss 0.1244 | s/batch 0.41\n",
      "I0815 11:55:21.087671 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17550 | batch 6300/11250 | lr 0.00000 0.00000 | loss 0.1615 | s/batch 0.38\n",
      "I0815 11:55:41.036135 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17600 | batch 6350/11250 | lr 0.00000 0.00000 | loss 0.1747 | s/batch 0.40\n",
      "I0815 11:56:01.063939 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17650 | batch 6400/11250 | lr 0.00000 0.00000 | loss 0.1095 | s/batch 0.40\n",
      "I0815 11:56:22.607023 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17700 | batch 6450/11250 | lr 0.00000 0.00000 | loss 0.1949 | s/batch 0.43\n",
      "I0815 11:56:42.971243 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17750 | batch 6500/11250 | lr 0.00000 0.00000 | loss 0.1178 | s/batch 0.41\n",
      "I0815 11:57:02.071281 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17800 | batch 6550/11250 | lr 0.00000 0.00000 | loss 0.1174 | s/batch 0.38\n",
      "I0815 11:57:24.606744 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17850 | batch 6600/11250 | lr 0.00000 0.00000 | loss 0.1733 | s/batch 0.45\n",
      "I0815 11:57:45.442727 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17900 | batch 6650/11250 | lr 0.00000 0.00000 | loss 0.1674 | s/batch 0.42\n",
      "I0815 11:58:04.079658 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 17950 | batch 6700/11250 | lr 0.00000 0.00000 | loss 0.1735 | s/batch 0.37\n",
      "I0815 11:58:24.234082 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18000 | batch 6750/11250 | lr 0.00000 0.00000 | loss 0.1872 | s/batch 0.40\n",
      "I0815 11:58:42.156960 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18050 | batch 6800/11250 | lr 0.00000 0.00000 | loss 0.1064 | s/batch 0.36\n",
      "I0815 11:59:01.500350 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18100 | batch 6850/11250 | lr 0.00000 0.00000 | loss 0.1835 | s/batch 0.39\n",
      "I0815 11:59:21.327837 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18150 | batch 6900/11250 | lr 0.00000 0.00000 | loss 0.1717 | s/batch 0.40\n",
      "I0815 11:59:40.915949 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18200 | batch 6950/11250 | lr 0.00000 0.00000 | loss 0.1389 | s/batch 0.39\n",
      "I0815 12:00:02.500222 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18250 | batch 7000/11250 | lr 0.00000 0.00000 | loss 0.1301 | s/batch 0.43\n",
      "I0815 12:00:19.785616 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18300 | batch 7050/11250 | lr 0.00000 0.00000 | loss 0.1761 | s/batch 0.35\n",
      "I0815 12:00:40.552205 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18350 | batch 7100/11250 | lr 0.00000 0.00000 | loss 0.1348 | s/batch 0.42\n",
      "I0815 12:00:59.142357 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18400 | batch 7150/11250 | lr 0.00000 0.00000 | loss 0.1196 | s/batch 0.37\n",
      "I0815 12:01:16.608420 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18450 | batch 7200/11250 | lr 0.00000 0.00000 | loss 0.1018 | s/batch 0.35\n",
      "I0815 12:01:33.618897 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18500 | batch 7250/11250 | lr 0.00000 0.00000 | loss 0.1928 | s/batch 0.34\n",
      "I0815 12:01:53.341257 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18550 | batch 7300/11250 | lr 0.00000 0.00000 | loss 0.1233 | s/batch 0.39\n",
      "I0815 12:02:13.533406 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18600 | batch 7350/11250 | lr 0.00000 0.00000 | loss 0.1634 | s/batch 0.40\n",
      "I0815 12:02:32.480686 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18650 | batch 7400/11250 | lr 0.00000 0.00000 | loss 0.1977 | s/batch 0.38\n",
      "I0815 12:02:52.031505 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18700 | batch 7450/11250 | lr 0.00000 0.00000 | loss 0.1524 | s/batch 0.39\n",
      "I0815 12:03:10.908600 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18750 | batch 7500/11250 | lr 0.00000 0.00000 | loss 0.1125 | s/batch 0.38\n",
      "I0815 12:03:31.384942 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18800 | batch 7550/11250 | lr 0.00000 0.00000 | loss 0.1341 | s/batch 0.41\n",
      "I0815 12:03:50.977961 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18850 | batch 7600/11250 | lr 0.00000 0.00000 | loss 0.1369 | s/batch 0.39\n",
      "I0815 12:04:10.140166 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18900 | batch 7650/11250 | lr 0.00000 0.00000 | loss 0.1565 | s/batch 0.38\n",
      "I0815 12:04:29.998076 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 18950 | batch 7700/11250 | lr 0.00000 0.00000 | loss 0.1241 | s/batch 0.40\n",
      "I0815 12:04:48.528525 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19000 | batch 7750/11250 | lr 0.00000 0.00000 | loss 0.0989 | s/batch 0.37\n",
      "I0815 12:05:05.276718 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19050 | batch 7800/11250 | lr 0.00000 0.00000 | loss 0.1335 | s/batch 0.33\n",
      "I0815 12:05:21.712725 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19100 | batch 7850/11250 | lr 0.00000 0.00000 | loss 0.1347 | s/batch 0.33\n",
      "I0815 12:05:38.972827 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19150 | batch 7900/11250 | lr 0.00000 0.00000 | loss 0.1359 | s/batch 0.35\n",
      "I0815 12:05:57.410302 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19200 | batch 7950/11250 | lr 0.00000 0.00000 | loss 0.1562 | s/batch 0.37\n",
      "I0815 12:06:14.610578 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19250 | batch 8000/11250 | lr 0.00000 0.00000 | loss 0.1752 | s/batch 0.34\n",
      "I0815 12:06:33.934995 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19300 | batch 8050/11250 | lr 0.00000 0.00000 | loss 0.1723 | s/batch 0.39\n",
      "I0815 12:06:53.787957 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19350 | batch 8100/11250 | lr 0.00000 0.00000 | loss 0.1537 | s/batch 0.40\n",
      "I0815 12:07:11.927830 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19400 | batch 8150/11250 | lr 0.00000 0.00000 | loss 0.1303 | s/batch 0.36\n",
      "I0815 12:07:30.936757 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19450 | batch 8200/11250 | lr 0.00000 0.00000 | loss 0.1444 | s/batch 0.38\n",
      "I0815 12:07:53.864292 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19500 | batch 8250/11250 | lr 0.00000 0.00000 | loss 0.1514 | s/batch 0.46\n",
      "I0815 12:08:12.651602 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19550 | batch 8300/11250 | lr 0.00000 0.00000 | loss 0.1476 | s/batch 0.38\n",
      "I0815 12:08:31.712298 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19600 | batch 8350/11250 | lr 0.00000 0.00000 | loss 0.1674 | s/batch 0.38\n",
      "I0815 12:08:50.102538 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19650 | batch 8400/11250 | lr 0.00000 0.00000 | loss 0.1104 | s/batch 0.37\n",
      "I0815 12:09:08.034324 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19700 | batch 8450/11250 | lr 0.00000 0.00000 | loss 0.1354 | s/batch 0.36\n",
      "I0815 12:09:28.591501 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19750 | batch 8500/11250 | lr 0.00000 0.00000 | loss 0.1574 | s/batch 0.41\n",
      "I0815 12:09:47.018576 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19800 | batch 8550/11250 | lr 0.00000 0.00000 | loss 0.1711 | s/batch 0.37\n",
      "I0815 12:10:01.976604 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19850 | batch 8600/11250 | lr 0.00000 0.00000 | loss 0.1420 | s/batch 0.30\n",
      "I0815 12:10:19.781965 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19900 | batch 8650/11250 | lr 0.00000 0.00000 | loss 0.1389 | s/batch 0.36\n",
      "I0815 12:10:40.610983 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 19950 | batch 8700/11250 | lr 0.00000 0.00000 | loss 0.1771 | s/batch 0.42\n",
      "I0815 12:11:00.330236 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20000 | batch 8750/11250 | lr 0.00000 0.00000 | loss 0.1712 | s/batch 0.39\n",
      "I0815 12:11:20.377197 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20050 | batch 8800/11250 | lr 0.00000 0.00000 | loss 0.1381 | s/batch 0.40\n",
      "I0815 12:11:39.837076 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20100 | batch 8850/11250 | lr 0.00000 0.00000 | loss 0.1596 | s/batch 0.39\n",
      "I0815 12:11:57.408131 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20150 | batch 8900/11250 | lr 0.00000 0.00000 | loss 0.1448 | s/batch 0.35\n",
      "I0815 12:12:15.116940 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20200 | batch 8950/11250 | lr 0.00000 0.00000 | loss 0.1135 | s/batch 0.35\n",
      "I0815 12:12:32.302742 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20250 | batch 9000/11250 | lr 0.00000 0.00000 | loss 0.1538 | s/batch 0.34\n",
      "I0815 12:12:51.918686 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20300 | batch 9050/11250 | lr 0.00000 0.00000 | loss 0.1443 | s/batch 0.39\n",
      "I0815 12:13:11.656615 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20350 | batch 9100/11250 | lr 0.00000 0.00000 | loss 0.1700 | s/batch 0.39\n",
      "I0815 12:13:30.172498 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20400 | batch 9150/11250 | lr 0.00000 0.00000 | loss 0.1951 | s/batch 0.37\n",
      "I0815 12:13:47.763650 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20450 | batch 9200/11250 | lr 0.00000 0.00000 | loss 0.1680 | s/batch 0.35\n",
      "I0815 12:14:06.328330 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20500 | batch 9250/11250 | lr 0.00000 0.00000 | loss 0.1401 | s/batch 0.37\n",
      "I0815 12:14:24.184875 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20550 | batch 9300/11250 | lr 0.00000 0.00000 | loss 0.1212 | s/batch 0.36\n",
      "I0815 12:14:43.378351 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20600 | batch 9350/11250 | lr 0.00000 0.00000 | loss 0.1170 | s/batch 0.38\n",
      "I0815 12:15:03.435415 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20650 | batch 9400/11250 | lr 0.00000 0.00000 | loss 0.1913 | s/batch 0.40\n",
      "I0815 12:15:21.258399 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20700 | batch 9450/11250 | lr 0.00000 0.00000 | loss 0.1190 | s/batch 0.36\n",
      "I0815 12:15:44.009075 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20750 | batch 9500/11250 | lr 0.00000 0.00000 | loss 0.1509 | s/batch 0.45\n",
      "I0815 12:16:03.400194 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20800 | batch 9550/11250 | lr 0.00000 0.00000 | loss 0.1817 | s/batch 0.39\n",
      "I0815 12:16:22.416625 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20850 | batch 9600/11250 | lr 0.00000 0.00000 | loss 0.1575 | s/batch 0.38\n",
      "I0815 12:16:42.410318 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20900 | batch 9650/11250 | lr 0.00000 0.00000 | loss 0.1734 | s/batch 0.40\n",
      "I0815 12:17:01.119956 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 20950 | batch 9700/11250 | lr 0.00000 0.00000 | loss 0.1563 | s/batch 0.37\n",
      "I0815 12:17:21.138028 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21000 | batch 9750/11250 | lr 0.00000 0.00000 | loss 0.1559 | s/batch 0.40\n",
      "I0815 12:17:40.300651 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21050 | batch 9800/11250 | lr 0.00000 0.00000 | loss 0.1710 | s/batch 0.38\n",
      "I0815 12:17:59.091410 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21100 | batch 9850/11250 | lr 0.00000 0.00000 | loss 0.1582 | s/batch 0.38\n",
      "I0815 12:18:16.310324 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21150 | batch 9900/11250 | lr 0.00000 0.00000 | loss 0.1669 | s/batch 0.34\n",
      "I0815 12:18:35.418407 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21200 | batch 9950/11250 | lr 0.00000 0.00000 | loss 0.1478 | s/batch 0.38\n",
      "I0815 12:18:55.493564 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21250 | batch 10000/11250 | lr 0.00000 0.00000 | loss 0.1604 | s/batch 0.40\n",
      "I0815 12:19:14.698085 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21300 | batch 10050/11250 | lr 0.00000 0.00000 | loss 0.1829 | s/batch 0.38\n",
      "I0815 12:19:35.147348 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21350 | batch 10100/11250 | lr 0.00000 0.00000 | loss 0.1937 | s/batch 0.41\n",
      "I0815 12:19:57.902046 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21400 | batch 10150/11250 | lr 0.00000 0.00000 | loss 0.1657 | s/batch 0.46\n",
      "I0815 12:20:16.906644 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21450 | batch 10200/11250 | lr 0.00000 0.00000 | loss 0.1316 | s/batch 0.38\n",
      "I0815 12:20:34.635359 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21500 | batch 10250/11250 | lr 0.00000 0.00000 | loss 0.1682 | s/batch 0.35\n",
      "I0815 12:20:52.904806 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21550 | batch 10300/11250 | lr 0.00000 0.00000 | loss 0.1331 | s/batch 0.37\n",
      "I0815 12:21:12.569272 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21600 | batch 10350/11250 | lr 0.00000 0.00000 | loss 0.1693 | s/batch 0.39\n",
      "I0815 12:21:33.178819 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21650 | batch 10400/11250 | lr 0.00000 0.00000 | loss 0.1739 | s/batch 0.41\n",
      "I0815 12:21:52.189081 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21700 | batch 10450/11250 | lr 0.00000 0.00000 | loss 0.1669 | s/batch 0.38\n",
      "I0815 12:22:12.031249 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21750 | batch 10500/11250 | lr 0.00000 0.00000 | loss 0.1630 | s/batch 0.40\n",
      "I0815 12:22:30.854651 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21800 | batch 10550/11250 | lr 0.00000 0.00000 | loss 0.1367 | s/batch 0.38\n",
      "I0815 12:22:49.592473 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21850 | batch 10600/11250 | lr 0.00000 0.00000 | loss 0.1650 | s/batch 0.37\n",
      "I0815 12:23:06.159755 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21900 | batch 10650/11250 | lr 0.00000 0.00000 | loss 0.1443 | s/batch 0.33\n",
      "I0815 12:23:23.936655 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 21950 | batch 10700/11250 | lr 0.00000 0.00000 | loss 0.1282 | s/batch 0.36\n",
      "I0815 12:23:45.039443 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22000 | batch 10750/11250 | lr 0.00000 0.00000 | loss 0.1316 | s/batch 0.42\n",
      "I0815 12:24:06.223809 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22050 | batch 10800/11250 | lr 0.00000 0.00000 | loss 0.1669 | s/batch 0.42\n",
      "I0815 12:24:24.238223 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22100 | batch 10850/11250 | lr 0.00000 0.00000 | loss 0.1430 | s/batch 0.36\n",
      "I0815 12:24:44.250658 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22150 | batch 10900/11250 | lr 0.00000 0.00000 | loss 0.1284 | s/batch 0.40\n",
      "I0815 12:25:02.345858 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22200 | batch 10950/11250 | lr 0.00000 0.00000 | loss 0.1516 | s/batch 0.36\n",
      "I0815 12:25:24.736159 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22250 | batch 11000/11250 | lr 0.00000 0.00000 | loss 0.1389 | s/batch 0.45\n",
      "I0815 12:25:46.011476 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22300 | batch 11050/11250 | lr 0.00000 0.00000 | loss 0.1615 | s/batch 0.43\n",
      "I0815 12:26:07.999763 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22350 | batch 11100/11250 | lr 0.00000 0.00000 | loss 0.1478 | s/batch 0.44\n",
      "I0815 12:26:25.978255 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22400 | batch 11150/11250 | lr 0.00000 0.00000 | loss 0.2216 | s/batch 0.36\n",
      "I0815 12:26:44.724597 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22450 | batch 11200/11250 | lr 0.00000 0.00000 | loss 0.1362 | s/batch 0.37\n",
      "I0815 12:27:02.895935 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22500 | batch 11250/11250 | lr 0.00000 0.00000 | loss 0.1671 | s/batch 0.36\n",
      "I0815 12:27:03.117289 140011927426880 <ipython-input-20-0b8e68029908>:127] | epoch   1 | score (94.66, 94.37, 94.51) | f1 94.51 | loss 0.1498 | time 4299.47\n",
      "I0815 12:27:03.446185 140011927426880 <ipython-input-20-0b8e68029908>:130] \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          科技     0.9525    0.9550    0.9538     35027\n",
      "          股票     0.9555    0.9576    0.9565     33251\n",
      "          体育     0.9896    0.9894    0.9895     28283\n",
      "          娱乐     0.9648    0.9739    0.9693     19920\n",
      "          时政     0.9166    0.9330    0.9247     13515\n",
      "          社会     0.9182    0.9115    0.9149     11009\n",
      "          教育     0.9551    0.9538    0.9545      8987\n",
      "          财经     0.9089    0.8797    0.8941      7957\n",
      "          家居     0.9516    0.9463    0.9490      7063\n",
      "          游戏     0.9452    0.9191    0.9320      5291\n",
      "          房产     0.9785    0.9659    0.9722      4428\n",
      "          时尚     0.9393    0.9397    0.9395      2818\n",
      "          彩票     0.9449    0.9351    0.9400      1633\n",
      "          星座     0.9317    0.9511    0.9413       818\n",
      "\n",
      "    accuracy                         0.9537    180000\n",
      "   macro avg     0.9466    0.9437    0.9451    180000\n",
      "weighted avg     0.9537    0.9537    0.9537    180000\n",
      "\n",
      "I0815 12:32:58.997361 140011927426880 <ipython-input-20-0b8e68029908>:158] | epoch   1 | dev | score (94.84, 94.62, 94.72) | f1 94.72 | time 355.55\n",
      "I0815 12:32:59.035024 140011927426880 <ipython-input-20-0b8e68029908>:161] \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          科技     0.9534    0.9522    0.9528      3891\n",
      "          股票     0.9608    0.9626    0.9617      3694\n",
      "          体育     0.9857    0.9898    0.9878      3142\n",
      "          娱乐     0.9647    0.9756    0.9701      2213\n",
      "          时政     0.9083    0.9300    0.9190      1501\n",
      "          社会     0.9235    0.9084    0.9159      1223\n",
      "          教育     0.9511    0.9549    0.9530       998\n",
      "          财经     0.9142    0.8801    0.8968       884\n",
      "          家居     0.9585    0.9426    0.9505       784\n",
      "          游戏     0.9474    0.9199    0.9334       587\n",
      "          房产     0.9677    0.9756    0.9717       492\n",
      "          时尚     0.9391    0.9361    0.9376       313\n",
      "          彩票     0.9568    0.9415    0.9491       188\n",
      "          星座     0.9462    0.9778    0.9617        90\n",
      "\n",
      "    accuracy                         0.9543     20000\n",
      "   macro avg     0.9484    0.9462    0.9472     20000\n",
      "weighted avg     0.9542    0.9543    0.9542     20000\n",
      "\n",
      "I0815 12:32:59.036030 140011927426880 <ipython-input-20-0b8e68029908>:43] Start training...\n",
      "I0815 12:33:17.095956 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22550 | batch  50/11250 | lr 0.00000 0.00000 | loss 0.1772 | s/batch 0.36\n",
      "I0815 12:33:36.698360 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22600 | batch 100/11250 | lr 0.00000 0.00000 | loss 0.1623 | s/batch 0.39\n",
      "I0815 12:33:57.556192 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22650 | batch 150/11250 | lr 0.00000 0.00000 | loss 0.1436 | s/batch 0.42\n",
      "I0815 12:34:15.769504 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22700 | batch 200/11250 | lr 0.00000 0.00000 | loss 0.1348 | s/batch 0.36\n",
      "I0815 12:34:33.563729 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22750 | batch 250/11250 | lr 0.00000 0.00000 | loss 0.1327 | s/batch 0.36\n",
      "I0815 12:34:51.865364 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22800 | batch 300/11250 | lr 0.00000 0.00000 | loss 0.1617 | s/batch 0.37\n",
      "I0815 12:35:10.619683 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22850 | batch 350/11250 | lr 0.00000 0.00000 | loss 0.1253 | s/batch 0.38\n",
      "I0815 12:35:30.237776 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22900 | batch 400/11250 | lr 0.00000 0.00000 | loss 0.1944 | s/batch 0.39\n",
      "I0815 12:35:50.472896 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 22950 | batch 450/11250 | lr 0.00000 0.00000 | loss 0.1481 | s/batch 0.40\n",
      "I0815 12:36:07.892703 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23000 | batch 500/11250 | lr 0.00000 0.00000 | loss 0.1782 | s/batch 0.35\n",
      "I0815 12:36:28.806843 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23050 | batch 550/11250 | lr 0.00000 0.00000 | loss 0.1845 | s/batch 0.42\n",
      "I0815 12:36:49.293906 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23100 | batch 600/11250 | lr 0.00000 0.00000 | loss 0.1641 | s/batch 0.41\n",
      "I0815 12:37:08.377321 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23150 | batch 650/11250 | lr 0.00000 0.00000 | loss 0.1518 | s/batch 0.38\n",
      "I0815 12:37:28.745336 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23200 | batch 700/11250 | lr 0.00000 0.00000 | loss 0.1488 | s/batch 0.41\n",
      "I0815 12:37:51.290956 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23250 | batch 750/11250 | lr 0.00000 0.00000 | loss 0.1696 | s/batch 0.45\n",
      "I0815 12:38:09.239883 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23300 | batch 800/11250 | lr 0.00000 0.00000 | loss 0.1538 | s/batch 0.36\n",
      "I0815 12:38:29.029644 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23350 | batch 850/11250 | lr 0.00000 0.00000 | loss 0.1326 | s/batch 0.40\n",
      "I0815 12:38:50.896083 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23400 | batch 900/11250 | lr 0.00000 0.00000 | loss 0.1524 | s/batch 0.44\n",
      "I0815 12:39:11.595252 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23450 | batch 950/11250 | lr 0.00000 0.00000 | loss 0.1561 | s/batch 0.41\n",
      "I0815 12:39:31.257230 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23500 | batch 1000/11250 | lr 0.00000 0.00000 | loss 0.1247 | s/batch 0.39\n",
      "I0815 12:39:49.740832 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23550 | batch 1050/11250 | lr 0.00000 0.00000 | loss 0.1625 | s/batch 0.37\n",
      "I0815 12:40:07.899130 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23600 | batch 1100/11250 | lr 0.00000 0.00000 | loss 0.1281 | s/batch 0.36\n",
      "I0815 12:40:26.415996 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23650 | batch 1150/11250 | lr 0.00000 0.00000 | loss 0.1259 | s/batch 0.37\n",
      "I0815 12:40:45.165999 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23700 | batch 1200/11250 | lr 0.00000 0.00000 | loss 0.1277 | s/batch 0.37\n",
      "I0815 12:41:00.797646 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23750 | batch 1250/11250 | lr 0.00000 0.00000 | loss 0.1350 | s/batch 0.31\n",
      "I0815 12:41:18.760476 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23800 | batch 1300/11250 | lr 0.00000 0.00000 | loss 0.1842 | s/batch 0.36\n",
      "I0815 12:41:37.861454 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23850 | batch 1350/11250 | lr 0.00000 0.00000 | loss 0.1082 | s/batch 0.38\n",
      "I0815 12:41:55.959053 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23900 | batch 1400/11250 | lr 0.00000 0.00000 | loss 0.1496 | s/batch 0.36\n",
      "I0815 12:42:13.699324 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 23950 | batch 1450/11250 | lr 0.00000 0.00000 | loss 0.1200 | s/batch 0.35\n",
      "I0815 12:42:32.632346 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24000 | batch 1500/11250 | lr 0.00000 0.00000 | loss 0.1894 | s/batch 0.38\n",
      "I0815 12:42:50.492851 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24050 | batch 1550/11250 | lr 0.00000 0.00000 | loss 0.1451 | s/batch 0.36\n",
      "I0815 12:43:06.321815 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24100 | batch 1600/11250 | lr 0.00000 0.00000 | loss 0.1674 | s/batch 0.32\n",
      "I0815 12:43:26.425259 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24150 | batch 1650/11250 | lr 0.00000 0.00000 | loss 0.1679 | s/batch 0.40\n",
      "I0815 12:43:48.219099 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24200 | batch 1700/11250 | lr 0.00000 0.00000 | loss 0.1546 | s/batch 0.44\n",
      "I0815 12:44:06.833793 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24250 | batch 1750/11250 | lr 0.00000 0.00000 | loss 0.1308 | s/batch 0.37\n",
      "I0815 12:44:28.600105 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24300 | batch 1800/11250 | lr 0.00000 0.00000 | loss 0.1516 | s/batch 0.44\n",
      "I0815 12:44:45.171956 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24350 | batch 1850/11250 | lr 0.00000 0.00000 | loss 0.1818 | s/batch 0.33\n",
      "I0815 12:45:03.326794 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24400 | batch 1900/11250 | lr 0.00000 0.00000 | loss 0.1491 | s/batch 0.36\n",
      "I0815 12:45:22.072005 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24450 | batch 1950/11250 | lr 0.00000 0.00000 | loss 0.1696 | s/batch 0.37\n",
      "I0815 12:45:41.816945 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24500 | batch 2000/11250 | lr 0.00000 0.00000 | loss 0.1250 | s/batch 0.39\n",
      "I0815 12:46:03.407300 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24550 | batch 2050/11250 | lr 0.00000 0.00000 | loss 0.1158 | s/batch 0.43\n",
      "I0815 12:46:23.922282 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24600 | batch 2100/11250 | lr 0.00000 0.00000 | loss 0.1481 | s/batch 0.41\n",
      "I0815 12:46:41.476991 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24650 | batch 2150/11250 | lr 0.00000 0.00000 | loss 0.1273 | s/batch 0.35\n",
      "I0815 12:47:01.189996 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24700 | batch 2200/11250 | lr 0.00000 0.00000 | loss 0.1484 | s/batch 0.39\n",
      "I0815 12:47:21.526430 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24750 | batch 2250/11250 | lr 0.00000 0.00000 | loss 0.1494 | s/batch 0.41\n",
      "I0815 12:47:40.350554 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24800 | batch 2300/11250 | lr 0.00000 0.00000 | loss 0.1453 | s/batch 0.38\n",
      "I0815 12:47:58.702120 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24850 | batch 2350/11250 | lr 0.00000 0.00000 | loss 0.1180 | s/batch 0.37\n",
      "I0815 12:48:18.370768 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24900 | batch 2400/11250 | lr 0.00000 0.00000 | loss 0.1451 | s/batch 0.39\n",
      "I0815 12:48:37.527382 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 24950 | batch 2450/11250 | lr 0.00000 0.00000 | loss 0.1394 | s/batch 0.38\n",
      "I0815 12:48:56.577375 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25000 | batch 2500/11250 | lr 0.00000 0.00000 | loss 0.2098 | s/batch 0.38\n",
      "I0815 12:49:14.350038 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25050 | batch 2550/11250 | lr 0.00000 0.00000 | loss 0.1522 | s/batch 0.36\n",
      "I0815 12:49:33.966872 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25100 | batch 2600/11250 | lr 0.00000 0.00000 | loss 0.1691 | s/batch 0.39\n",
      "I0815 12:49:53.575967 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25150 | batch 2650/11250 | lr 0.00000 0.00000 | loss 0.1334 | s/batch 0.39\n",
      "I0815 12:50:11.892629 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25200 | batch 2700/11250 | lr 0.00000 0.00000 | loss 0.1306 | s/batch 0.37\n",
      "I0815 12:50:33.497836 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25250 | batch 2750/11250 | lr 0.00000 0.00000 | loss 0.1372 | s/batch 0.43\n",
      "I0815 12:50:50.798857 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25300 | batch 2800/11250 | lr 0.00000 0.00000 | loss 0.1702 | s/batch 0.35\n",
      "I0815 12:51:08.531228 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25350 | batch 2850/11250 | lr 0.00000 0.00000 | loss 0.1283 | s/batch 0.35\n",
      "I0815 12:51:28.820259 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25400 | batch 2900/11250 | lr 0.00000 0.00000 | loss 0.1279 | s/batch 0.41\n",
      "I0815 12:51:47.166305 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25450 | batch 2950/11250 | lr 0.00000 0.00000 | loss 0.1351 | s/batch 0.37\n",
      "I0815 12:52:05.889827 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25500 | batch 3000/11250 | lr 0.00000 0.00000 | loss 0.1465 | s/batch 0.37\n",
      "I0815 12:52:24.174765 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25550 | batch 3050/11250 | lr 0.00000 0.00000 | loss 0.1501 | s/batch 0.37\n",
      "I0815 12:52:43.707568 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25600 | batch 3100/11250 | lr 0.00000 0.00000 | loss 0.1598 | s/batch 0.39\n",
      "I0815 12:53:03.278629 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25650 | batch 3150/11250 | lr 0.00000 0.00000 | loss 0.1011 | s/batch 0.39\n",
      "I0815 12:53:21.428755 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25700 | batch 3200/11250 | lr 0.00000 0.00000 | loss 0.1563 | s/batch 0.36\n",
      "I0815 12:53:40.213755 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25750 | batch 3250/11250 | lr 0.00000 0.00000 | loss 0.1281 | s/batch 0.38\n",
      "I0815 12:54:01.406503 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25800 | batch 3300/11250 | lr 0.00000 0.00000 | loss 0.1266 | s/batch 0.42\n",
      "I0815 12:54:22.295115 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25850 | batch 3350/11250 | lr 0.00000 0.00000 | loss 0.1127 | s/batch 0.42\n",
      "I0815 12:54:43.125397 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25900 | batch 3400/11250 | lr 0.00000 0.00000 | loss 0.1108 | s/batch 0.42\n",
      "I0815 12:55:03.768584 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 25950 | batch 3450/11250 | lr 0.00000 0.00000 | loss 0.1170 | s/batch 0.41\n",
      "I0815 12:55:22.091194 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26000 | batch 3500/11250 | lr 0.00000 0.00000 | loss 0.1881 | s/batch 0.37\n",
      "I0815 12:55:43.781876 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26050 | batch 3550/11250 | lr 0.00000 0.00000 | loss 0.1159 | s/batch 0.43\n",
      "I0815 12:56:04.095606 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26100 | batch 3600/11250 | lr 0.00000 0.00000 | loss 0.1619 | s/batch 0.41\n",
      "I0815 12:56:22.009824 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26150 | batch 3650/11250 | lr 0.00000 0.00000 | loss 0.1210 | s/batch 0.36\n",
      "I0815 12:56:42.448887 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26200 | batch 3700/11250 | lr 0.00000 0.00000 | loss 0.1681 | s/batch 0.41\n",
      "I0815 12:57:01.158598 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26250 | batch 3750/11250 | lr 0.00000 0.00000 | loss 0.2030 | s/batch 0.37\n",
      "I0815 12:57:19.683137 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26300 | batch 3800/11250 | lr 0.00000 0.00000 | loss 0.1508 | s/batch 0.37\n",
      "I0815 12:57:36.092795 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26350 | batch 3850/11250 | lr 0.00000 0.00000 | loss 0.1183 | s/batch 0.33\n",
      "I0815 12:57:55.338982 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26400 | batch 3900/11250 | lr 0.00000 0.00000 | loss 0.1614 | s/batch 0.38\n",
      "I0815 12:58:13.280891 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26450 | batch 3950/11250 | lr 0.00000 0.00000 | loss 0.1454 | s/batch 0.36\n",
      "I0815 12:58:33.564598 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26500 | batch 4000/11250 | lr 0.00000 0.00000 | loss 0.1769 | s/batch 0.41\n",
      "I0815 12:58:51.173171 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26550 | batch 4050/11250 | lr 0.00000 0.00000 | loss 0.1315 | s/batch 0.35\n",
      "I0815 12:59:08.288466 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26600 | batch 4100/11250 | lr 0.00000 0.00000 | loss 0.1329 | s/batch 0.34\n",
      "I0815 12:59:25.891667 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26650 | batch 4150/11250 | lr 0.00000 0.00000 | loss 0.1156 | s/batch 0.35\n",
      "I0815 12:59:44.067668 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26700 | batch 4200/11250 | lr 0.00000 0.00000 | loss 0.1597 | s/batch 0.36\n",
      "I0815 13:00:01.720913 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26750 | batch 4250/11250 | lr 0.00000 0.00000 | loss 0.1432 | s/batch 0.35\n",
      "I0815 13:00:21.315862 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26800 | batch 4300/11250 | lr 0.00000 0.00000 | loss 0.1998 | s/batch 0.39\n",
      "I0815 13:00:40.713826 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26850 | batch 4350/11250 | lr 0.00000 0.00000 | loss 0.1575 | s/batch 0.39\n",
      "I0815 13:00:59.310719 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26900 | batch 4400/11250 | lr 0.00000 0.00000 | loss 0.1357 | s/batch 0.37\n",
      "I0815 13:01:19.639146 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 26950 | batch 4450/11250 | lr 0.00000 0.00000 | loss 0.1847 | s/batch 0.41\n",
      "I0815 13:01:36.800245 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27000 | batch 4500/11250 | lr 0.00000 0.00000 | loss 0.1410 | s/batch 0.34\n",
      "I0815 13:01:55.505217 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27050 | batch 4550/11250 | lr 0.00000 0.00000 | loss 0.1626 | s/batch 0.37\n",
      "I0815 13:02:13.722547 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27100 | batch 4600/11250 | lr 0.00000 0.00000 | loss 0.1755 | s/batch 0.36\n",
      "I0815 13:02:33.079755 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27150 | batch 4650/11250 | lr 0.00000 0.00000 | loss 0.1483 | s/batch 0.39\n",
      "I0815 13:02:51.919107 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27200 | batch 4700/11250 | lr 0.00000 0.00000 | loss 0.1709 | s/batch 0.38\n",
      "I0815 13:03:13.306750 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27250 | batch 4750/11250 | lr 0.00000 0.00000 | loss 0.1275 | s/batch 0.43\n",
      "I0815 13:03:33.877737 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27300 | batch 4800/11250 | lr 0.00000 0.00000 | loss 0.1461 | s/batch 0.41\n",
      "I0815 13:03:52.109668 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27350 | batch 4850/11250 | lr 0.00000 0.00000 | loss 0.1538 | s/batch 0.36\n",
      "I0815 13:04:12.200305 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27400 | batch 4900/11250 | lr 0.00000 0.00000 | loss 0.1343 | s/batch 0.40\n",
      "I0815 13:04:31.221937 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27450 | batch 4950/11250 | lr 0.00000 0.00000 | loss 0.1768 | s/batch 0.38\n",
      "I0815 13:04:46.892022 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27500 | batch 5000/11250 | lr 0.00000 0.00000 | loss 0.1638 | s/batch 0.31\n",
      "I0815 13:05:05.538541 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27550 | batch 5050/11250 | lr 0.00000 0.00000 | loss 0.1500 | s/batch 0.37\n",
      "I0815 13:05:25.655994 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27600 | batch 5100/11250 | lr 0.00000 0.00000 | loss 0.1623 | s/batch 0.40\n",
      "I0815 13:05:42.811174 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27650 | batch 5150/11250 | lr 0.00000 0.00000 | loss 0.1472 | s/batch 0.34\n",
      "I0815 13:06:02.937396 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27700 | batch 5200/11250 | lr 0.00000 0.00000 | loss 0.1836 | s/batch 0.40\n",
      "I0815 13:06:21.319722 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27750 | batch 5250/11250 | lr 0.00000 0.00000 | loss 0.1541 | s/batch 0.37\n",
      "I0815 13:06:41.328702 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27800 | batch 5300/11250 | lr 0.00000 0.00000 | loss 0.1256 | s/batch 0.40\n",
      "I0815 13:07:00.253745 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27850 | batch 5350/11250 | lr 0.00000 0.00000 | loss 0.1820 | s/batch 0.38\n",
      "I0815 13:07:18.030606 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27900 | batch 5400/11250 | lr 0.00000 0.00000 | loss 0.1422 | s/batch 0.36\n",
      "I0815 13:07:40.188547 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 27950 | batch 5450/11250 | lr 0.00000 0.00000 | loss 0.1454 | s/batch 0.44\n",
      "I0815 13:07:58.709079 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28000 | batch 5500/11250 | lr 0.00000 0.00000 | loss 0.1399 | s/batch 0.37\n",
      "I0815 13:08:20.330430 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28050 | batch 5550/11250 | lr 0.00000 0.00000 | loss 0.1607 | s/batch 0.43\n",
      "I0815 13:08:37.937320 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28100 | batch 5600/11250 | lr 0.00000 0.00000 | loss 0.1386 | s/batch 0.35\n",
      "I0815 13:08:55.503355 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28150 | batch 5650/11250 | lr 0.00000 0.00000 | loss 0.1191 | s/batch 0.35\n",
      "I0815 13:09:12.720261 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28200 | batch 5700/11250 | lr 0.00000 0.00000 | loss 0.1605 | s/batch 0.34\n",
      "I0815 13:09:31.990096 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28250 | batch 5750/11250 | lr 0.00000 0.00000 | loss 0.1290 | s/batch 0.39\n",
      "I0815 13:09:50.613945 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28300 | batch 5800/11250 | lr 0.00000 0.00000 | loss 0.1047 | s/batch 0.37\n",
      "I0815 13:10:09.202502 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28350 | batch 5850/11250 | lr 0.00000 0.00000 | loss 0.1439 | s/batch 0.37\n",
      "I0815 13:10:29.894122 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28400 | batch 5900/11250 | lr 0.00000 0.00000 | loss 0.1656 | s/batch 0.41\n",
      "I0815 13:10:45.308779 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28450 | batch 5950/11250 | lr 0.00000 0.00000 | loss 0.1657 | s/batch 0.31\n",
      "I0815 13:11:05.546462 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28500 | batch 6000/11250 | lr 0.00000 0.00000 | loss 0.1725 | s/batch 0.40\n",
      "I0815 13:11:24.626996 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28550 | batch 6050/11250 | lr 0.00000 0.00000 | loss 0.1464 | s/batch 0.38\n",
      "I0815 13:11:45.425400 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28600 | batch 6100/11250 | lr 0.00000 0.00000 | loss 0.1717 | s/batch 0.42\n",
      "I0815 13:12:03.739142 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28650 | batch 6150/11250 | lr 0.00000 0.00000 | loss 0.1345 | s/batch 0.37\n",
      "I0815 13:12:23.454710 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28700 | batch 6200/11250 | lr 0.00000 0.00000 | loss 0.1419 | s/batch 0.39\n",
      "I0815 13:12:42.855117 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28750 | batch 6250/11250 | lr 0.00000 0.00000 | loss 0.1492 | s/batch 0.39\n",
      "I0815 13:13:03.065880 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28800 | batch 6300/11250 | lr 0.00000 0.00000 | loss 0.1041 | s/batch 0.40\n",
      "I0815 13:13:23.562098 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28850 | batch 6350/11250 | lr 0.00000 0.00000 | loss 0.1580 | s/batch 0.41\n",
      "I0815 13:13:43.306493 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28900 | batch 6400/11250 | lr 0.00000 0.00000 | loss 0.1244 | s/batch 0.39\n",
      "I0815 13:14:03.480839 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 28950 | batch 6450/11250 | lr 0.00000 0.00000 | loss 0.1857 | s/batch 0.40\n",
      "I0815 13:14:21.858541 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29000 | batch 6500/11250 | lr 0.00000 0.00000 | loss 0.1160 | s/batch 0.37\n",
      "I0815 13:14:41.545202 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29050 | batch 6550/11250 | lr 0.00000 0.00000 | loss 0.1253 | s/batch 0.39\n",
      "I0815 13:15:00.324846 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29100 | batch 6600/11250 | lr 0.00000 0.00000 | loss 0.1157 | s/batch 0.38\n",
      "I0815 13:15:19.065196 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29150 | batch 6650/11250 | lr 0.00000 0.00000 | loss 0.1427 | s/batch 0.37\n",
      "I0815 13:15:37.430392 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29200 | batch 6700/11250 | lr 0.00000 0.00000 | loss 0.1212 | s/batch 0.37\n",
      "I0815 13:15:57.840430 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29250 | batch 6750/11250 | lr 0.00000 0.00000 | loss 0.1712 | s/batch 0.41\n",
      "I0815 13:16:16.319199 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29300 | batch 6800/11250 | lr 0.00000 0.00000 | loss 0.1527 | s/batch 0.37\n",
      "I0815 13:16:35.262848 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29350 | batch 6850/11250 | lr 0.00000 0.00000 | loss 0.1371 | s/batch 0.38\n",
      "I0815 13:16:52.641360 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29400 | batch 6900/11250 | lr 0.00000 0.00000 | loss 0.1238 | s/batch 0.35\n",
      "I0815 13:17:13.185590 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29450 | batch 6950/11250 | lr 0.00000 0.00000 | loss 0.1757 | s/batch 0.41\n",
      "I0815 13:17:32.587916 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29500 | batch 7000/11250 | lr 0.00000 0.00000 | loss 0.1190 | s/batch 0.39\n",
      "I0815 13:17:54.749011 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29550 | batch 7050/11250 | lr 0.00000 0.00000 | loss 0.1819 | s/batch 0.44\n",
      "I0815 13:18:13.867549 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29600 | batch 7100/11250 | lr 0.00000 0.00000 | loss 0.1314 | s/batch 0.38\n",
      "I0815 13:18:35.226437 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29650 | batch 7150/11250 | lr 0.00000 0.00000 | loss 0.1789 | s/batch 0.43\n",
      "I0815 13:18:56.140769 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29700 | batch 7200/11250 | lr 0.00000 0.00000 | loss 0.1509 | s/batch 0.42\n",
      "I0815 13:19:16.455465 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29750 | batch 7250/11250 | lr 0.00000 0.00000 | loss 0.1053 | s/batch 0.41\n",
      "I0815 13:19:35.476070 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29800 | batch 7300/11250 | lr 0.00000 0.00000 | loss 0.1189 | s/batch 0.38\n",
      "I0815 13:19:54.165028 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29850 | batch 7350/11250 | lr 0.00000 0.00000 | loss 0.1463 | s/batch 0.37\n",
      "I0815 13:20:12.400581 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29900 | batch 7400/11250 | lr 0.00000 0.00000 | loss 0.1223 | s/batch 0.36\n",
      "I0815 13:20:34.366801 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 29950 | batch 7450/11250 | lr 0.00000 0.00000 | loss 0.1750 | s/batch 0.44\n",
      "I0815 13:20:53.499076 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30000 | batch 7500/11250 | lr 0.00000 0.00000 | loss 0.1617 | s/batch 0.38\n",
      "I0815 13:21:13.439603 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30050 | batch 7550/11250 | lr 0.00000 0.00000 | loss 0.1496 | s/batch 0.40\n",
      "I0815 13:21:35.024239 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30100 | batch 7600/11250 | lr 0.00000 0.00000 | loss 0.1622 | s/batch 0.43\n",
      "I0815 13:21:52.736909 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30150 | batch 7650/11250 | lr 0.00000 0.00000 | loss 0.1365 | s/batch 0.35\n",
      "I0815 13:22:09.948122 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30200 | batch 7700/11250 | lr 0.00000 0.00000 | loss 0.1735 | s/batch 0.34\n",
      "I0815 13:22:31.180680 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30250 | batch 7750/11250 | lr 0.00000 0.00000 | loss 0.1869 | s/batch 0.42\n",
      "I0815 13:22:49.842211 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30300 | batch 7800/11250 | lr 0.00000 0.00000 | loss 0.1258 | s/batch 0.37\n",
      "I0815 13:23:11.598145 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30350 | batch 7850/11250 | lr 0.00000 0.00000 | loss 0.1462 | s/batch 0.44\n",
      "I0815 13:23:29.275896 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30400 | batch 7900/11250 | lr 0.00000 0.00000 | loss 0.1495 | s/batch 0.35\n",
      "I0815 13:23:46.766396 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30450 | batch 7950/11250 | lr 0.00000 0.00000 | loss 0.1173 | s/batch 0.35\n",
      "I0815 13:24:04.473312 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30500 | batch 8000/11250 | lr 0.00000 0.00000 | loss 0.1161 | s/batch 0.35\n",
      "I0815 13:24:19.888741 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30550 | batch 8050/11250 | lr 0.00000 0.00000 | loss 0.1564 | s/batch 0.31\n",
      "I0815 13:24:38.172150 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30600 | batch 8100/11250 | lr 0.00000 0.00000 | loss 0.1960 | s/batch 0.37\n",
      "I0815 13:24:58.244288 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30650 | batch 8150/11250 | lr 0.00000 0.00000 | loss 0.1891 | s/batch 0.40\n",
      "I0815 13:25:17.648299 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30700 | batch 8200/11250 | lr 0.00000 0.00000 | loss 0.1335 | s/batch 0.39\n",
      "I0815 13:25:39.540043 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30750 | batch 8250/11250 | lr 0.00000 0.00000 | loss 0.1685 | s/batch 0.44\n",
      "I0815 13:25:58.175508 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30800 | batch 8300/11250 | lr 0.00000 0.00000 | loss 0.1832 | s/batch 0.37\n",
      "I0815 13:26:15.188277 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30850 | batch 8350/11250 | lr 0.00000 0.00000 | loss 0.1924 | s/batch 0.34\n",
      "I0815 13:26:34.408521 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30900 | batch 8400/11250 | lr 0.00000 0.00000 | loss 0.1016 | s/batch 0.38\n",
      "I0815 13:26:53.371216 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 30950 | batch 8450/11250 | lr 0.00000 0.00000 | loss 0.1187 | s/batch 0.38\n",
      "I0815 13:27:13.115604 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31000 | batch 8500/11250 | lr 0.00000 0.00000 | loss 0.1774 | s/batch 0.39\n",
      "I0815 13:27:32.869614 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31050 | batch 8550/11250 | lr 0.00000 0.00000 | loss 0.1671 | s/batch 0.40\n",
      "I0815 13:27:53.290102 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31100 | batch 8600/11250 | lr 0.00000 0.00000 | loss 0.1606 | s/batch 0.41\n",
      "I0815 13:28:13.585528 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31150 | batch 8650/11250 | lr 0.00000 0.00000 | loss 0.1374 | s/batch 0.41\n",
      "I0815 13:28:32.549924 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31200 | batch 8700/11250 | lr 0.00000 0.00000 | loss 0.1461 | s/batch 0.38\n",
      "I0815 13:28:54.289848 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31250 | batch 8750/11250 | lr 0.00000 0.00000 | loss 0.2227 | s/batch 0.43\n",
      "I0815 13:29:14.808611 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31300 | batch 8800/11250 | lr 0.00000 0.00000 | loss 0.1926 | s/batch 0.41\n",
      "I0815 13:29:32.717015 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31350 | batch 8850/11250 | lr 0.00000 0.00000 | loss 0.1334 | s/batch 0.36\n",
      "I0815 13:29:49.291722 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31400 | batch 8900/11250 | lr 0.00000 0.00000 | loss 0.1312 | s/batch 0.33\n",
      "I0815 13:30:07.761505 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31450 | batch 8950/11250 | lr 0.00000 0.00000 | loss 0.1598 | s/batch 0.37\n",
      "I0815 13:30:25.600286 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31500 | batch 9000/11250 | lr 0.00000 0.00000 | loss 0.1303 | s/batch 0.36\n",
      "I0815 13:30:43.849642 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31550 | batch 9050/11250 | lr 0.00000 0.00000 | loss 0.1277 | s/batch 0.36\n",
      "I0815 13:31:03.898100 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31600 | batch 9100/11250 | lr 0.00000 0.00000 | loss 0.1158 | s/batch 0.40\n",
      "I0815 13:31:22.211136 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31650 | batch 9150/11250 | lr 0.00000 0.00000 | loss 0.1249 | s/batch 0.37\n",
      "I0815 13:31:42.285811 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31700 | batch 9200/11250 | lr 0.00000 0.00000 | loss 0.1494 | s/batch 0.40\n",
      "I0815 13:32:02.897222 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31750 | batch 9250/11250 | lr 0.00000 0.00000 | loss 0.1460 | s/batch 0.41\n",
      "I0815 13:32:21.677388 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31800 | batch 9300/11250 | lr 0.00000 0.00000 | loss 0.1913 | s/batch 0.38\n",
      "I0815 13:32:38.704161 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31850 | batch 9350/11250 | lr 0.00000 0.00000 | loss 0.1343 | s/batch 0.34\n",
      "I0815 13:32:57.724646 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31900 | batch 9400/11250 | lr 0.00000 0.00000 | loss 0.1304 | s/batch 0.38\n",
      "I0815 13:33:16.999765 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 31950 | batch 9450/11250 | lr 0.00000 0.00000 | loss 0.1443 | s/batch 0.39\n",
      "I0815 13:33:35.742149 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32000 | batch 9500/11250 | lr 0.00000 0.00000 | loss 0.1447 | s/batch 0.37\n",
      "I0815 13:33:56.777221 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32050 | batch 9550/11250 | lr 0.00000 0.00000 | loss 0.1292 | s/batch 0.42\n",
      "I0815 13:34:15.544939 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32100 | batch 9600/11250 | lr 0.00000 0.00000 | loss 0.1376 | s/batch 0.38\n",
      "I0815 13:34:33.403987 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32150 | batch 9650/11250 | lr 0.00000 0.00000 | loss 0.1353 | s/batch 0.36\n",
      "I0815 13:34:53.584117 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32200 | batch 9700/11250 | lr 0.00000 0.00000 | loss 0.1885 | s/batch 0.40\n",
      "I0815 13:35:12.630932 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32250 | batch 9750/11250 | lr 0.00000 0.00000 | loss 0.1435 | s/batch 0.38\n",
      "I0815 13:35:30.722005 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32300 | batch 9800/11250 | lr 0.00000 0.00000 | loss 0.1757 | s/batch 0.36\n",
      "I0815 13:35:48.527900 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32350 | batch 9850/11250 | lr 0.00000 0.00000 | loss 0.1256 | s/batch 0.36\n",
      "I0815 13:36:07.435549 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32400 | batch 9900/11250 | lr 0.00000 0.00000 | loss 0.1299 | s/batch 0.38\n",
      "I0815 13:36:25.841784 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32450 | batch 9950/11250 | lr 0.00000 0.00000 | loss 0.1604 | s/batch 0.37\n",
      "I0815 13:36:45.995187 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32500 | batch 10000/11250 | lr 0.00000 0.00000 | loss 0.1450 | s/batch 0.40\n",
      "I0815 13:37:03.926646 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32550 | batch 10050/11250 | lr 0.00000 0.00000 | loss 0.1542 | s/batch 0.36\n",
      "I0815 13:37:24.524600 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32600 | batch 10100/11250 | lr 0.00000 0.00000 | loss 0.1364 | s/batch 0.41\n",
      "I0815 13:37:42.709981 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32650 | batch 10150/11250 | lr 0.00000 0.00000 | loss 0.1444 | s/batch 0.36\n",
      "I0815 13:38:02.441941 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32700 | batch 10200/11250 | lr 0.00000 0.00000 | loss 0.1301 | s/batch 0.39\n",
      "I0815 13:38:21.669137 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32750 | batch 10250/11250 | lr 0.00000 0.00000 | loss 0.2084 | s/batch 0.38\n",
      "I0815 13:38:39.925211 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32800 | batch 10300/11250 | lr 0.00000 0.00000 | loss 0.1664 | s/batch 0.37\n",
      "I0815 13:38:58.242292 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32850 | batch 10350/11250 | lr 0.00000 0.00000 | loss 0.1675 | s/batch 0.37\n",
      "I0815 13:39:19.554990 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32900 | batch 10400/11250 | lr 0.00000 0.00000 | loss 0.1267 | s/batch 0.43\n",
      "I0815 13:39:39.113019 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 32950 | batch 10450/11250 | lr 0.00000 0.00000 | loss 0.1655 | s/batch 0.39\n",
      "I0815 13:39:57.518069 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33000 | batch 10500/11250 | lr 0.00000 0.00000 | loss 0.1466 | s/batch 0.37\n",
      "I0815 13:40:18.489148 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33050 | batch 10550/11250 | lr 0.00000 0.00000 | loss 0.1699 | s/batch 0.42\n",
      "I0815 13:40:39.072499 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33100 | batch 10600/11250 | lr 0.00000 0.00000 | loss 0.1798 | s/batch 0.41\n",
      "I0815 13:40:55.802230 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33150 | batch 10650/11250 | lr 0.00000 0.00000 | loss 0.1781 | s/batch 0.33\n",
      "I0815 13:41:14.763860 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33200 | batch 10700/11250 | lr 0.00000 0.00000 | loss 0.1353 | s/batch 0.38\n",
      "I0815 13:41:32.529571 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33250 | batch 10750/11250 | lr 0.00000 0.00000 | loss 0.1016 | s/batch 0.36\n",
      "I0815 13:41:49.765720 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33300 | batch 10800/11250 | lr 0.00000 0.00000 | loss 0.1416 | s/batch 0.34\n",
      "I0815 13:42:09.229314 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33350 | batch 10850/11250 | lr 0.00000 0.00000 | loss 0.1236 | s/batch 0.39\n",
      "I0815 13:42:28.711674 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33400 | batch 10900/11250 | lr 0.00000 0.00000 | loss 0.1213 | s/batch 0.39\n",
      "I0815 13:42:47.212779 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33450 | batch 10950/11250 | lr 0.00000 0.00000 | loss 0.1147 | s/batch 0.37\n",
      "I0815 13:43:06.354135 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33500 | batch 11000/11250 | lr 0.00000 0.00000 | loss 0.1208 | s/batch 0.38\n",
      "I0815 13:43:23.555122 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33550 | batch 11050/11250 | lr 0.00000 0.00000 | loss 0.1275 | s/batch 0.34\n",
      "I0815 13:43:42.897682 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33600 | batch 11100/11250 | lr 0.00000 0.00000 | loss 0.1669 | s/batch 0.39\n",
      "I0815 13:44:01.733144 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33650 | batch 11150/11250 | lr 0.00000 0.00000 | loss 0.1700 | s/batch 0.38\n",
      "I0815 13:44:22.429200 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33700 | batch 11200/11250 | lr 0.00000 0.00000 | loss 0.1510 | s/batch 0.41\n",
      "I0815 13:44:41.101606 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33750 | batch 11250/11250 | lr 0.00000 0.00000 | loss 0.1449 | s/batch 0.37\n",
      "I0815 13:44:41.309351 140011927426880 <ipython-input-20-0b8e68029908>:127] | epoch   1 | score (94.76, 94.52, 94.63) | f1 94.63 | loss 0.1484 | time 4302.08\n",
      "I0815 13:44:41.619750 140011927426880 <ipython-input-20-0b8e68029908>:130] \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          科技     0.9529    0.9550    0.9539     35027\n",
      "          股票     0.9564    0.9584    0.9574     33251\n",
      "          体育     0.9893    0.9897    0.9895     28283\n",
      "          娱乐     0.9653    0.9735    0.9694     19920\n",
      "          时政     0.9195    0.9322    0.9258     13515\n",
      "          社会     0.9169    0.9125    0.9147     11009\n",
      "          教育     0.9565    0.9527    0.9546      8987\n",
      "          财经     0.9067    0.8810    0.8937      7957\n",
      "          家居     0.9514    0.9512    0.9513      7063\n",
      "          游戏     0.9472    0.9219    0.9344      5291\n",
      "          房产     0.9758    0.9643    0.9700      4428\n",
      "          时尚     0.9437    0.9400    0.9419      2818\n",
      "          彩票     0.9495    0.9326    0.9410      1633\n",
      "          星座     0.9351    0.9682    0.9514       818\n",
      "\n",
      "    accuracy                         0.9542    180000\n",
      "   macro avg     0.9476    0.9452    0.9463    180000\n",
      "weighted avg     0.9541    0.9542    0.9541    180000\n",
      "\n",
      "I0815 13:50:35.263411 140011927426880 <ipython-input-20-0b8e68029908>:158] | epoch   1 | dev | score (94.83, 94.65, 94.73) | f1 94.73 | time 353.64\n",
      "I0815 13:50:35.300793 140011927426880 <ipython-input-20-0b8e68029908>:161] \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          科技     0.9534    0.9525    0.9529      3891\n",
      "          股票     0.9619    0.9624    0.9621      3694\n",
      "          体育     0.9857    0.9901    0.9879      3142\n",
      "          娱乐     0.9660    0.9756    0.9708      2213\n",
      "          时政     0.9083    0.9307    0.9194      1501\n",
      "          社会     0.9235    0.9076    0.9155      1223\n",
      "          教育     0.9511    0.9549    0.9530       998\n",
      "          财经     0.9112    0.8824    0.8966       884\n",
      "          家居     0.9585    0.9439    0.9512       784\n",
      "          游戏     0.9474    0.9199    0.9334       587\n",
      "          房产     0.9677    0.9756    0.9717       492\n",
      "          时尚     0.9391    0.9361    0.9376       313\n",
      "          彩票     0.9568    0.9415    0.9491       188\n",
      "          星座     0.9462    0.9778    0.9617        90\n",
      "\n",
      "    accuracy                         0.9545     20000\n",
      "   macro avg     0.9483    0.9465    0.9473     20000\n",
      "weighted avg     0.9544    0.9545    0.9544     20000\n",
      "\n",
      "I0815 13:50:35.301786 140011927426880 <ipython-input-20-0b8e68029908>:43] Start training...\n",
      "I0815 13:50:57.548294 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33800 | batch  50/11250 | lr 0.00000 0.00000 | loss 0.2212 | s/batch 0.44\n",
      "I0815 13:51:15.364032 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33850 | batch 100/11250 | lr 0.00000 0.00000 | loss 0.1307 | s/batch 0.36\n",
      "I0815 13:51:34.055922 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33900 | batch 150/11250 | lr 0.00000 0.00000 | loss 0.1499 | s/batch 0.37\n",
      "I0815 13:51:56.154546 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 33950 | batch 200/11250 | lr 0.00000 0.00000 | loss 0.1309 | s/batch 0.44\n",
      "I0815 13:52:18.599008 140011927426880 <ipython-input-20-0b8e68029908>:110] | epoch   1 | step 34000 | batch 250/11250 | lr 0.00000 0.00000 | loss 0.1708 | s/batch 0.45\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[0;31mKeyboardInterrupt\u001B[0m                         Traceback (most recent call last)",
      "\u001B[0;32m<ipython-input-21-2b75d3c4c45c>\u001B[0m in \u001B[0;36m<module>\u001B[0;34m\u001B[0m\n\u001B[1;32m      3\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m      4\u001B[0m \u001B[0;32mfor\u001B[0m \u001B[0m_\u001B[0m \u001B[0;32min\u001B[0m \u001B[0mrange\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;36m5\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m----> 5\u001B[0;31m     \u001B[0mtrainer\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mtrain\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m",
      "\u001B[0;32m<ipython-input-20-0b8e68029908>\u001B[0m in \u001B[0;36mtrain\u001B[0;34m(self)\u001B[0m\n\u001B[1;32m     43\u001B[0m         \u001B[0mlogging\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0minfo\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m'Start training...'\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m     44\u001B[0m         \u001B[0;32mfor\u001B[0m \u001B[0mepoch\u001B[0m \u001B[0;32min\u001B[0m \u001B[0mrange\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mepochs\u001B[0m \u001B[0;34m+\u001B[0m \u001B[0;36m1\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m---> 45\u001B[0;31m             \u001B[0mtrain_f1\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0m_train\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mepoch\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m     46\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m     47\u001B[0m             \u001B[0mdev_f1\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0m_eval\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mepoch\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m<ipython-input-20-0b8e68029908>\u001B[0m in \u001B[0;36m_train\u001B[0;34m(self, epoch)\u001B[0m\n\u001B[1;32m     80\u001B[0m         \u001B[0;32mfor\u001B[0m \u001B[0mbatch_data\u001B[0m \u001B[0;32min\u001B[0m \u001B[0mdata_iter\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mtrain_data\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mtrain_batch_size\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mshuffle\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;32mTrue\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m     81\u001B[0m             \u001B[0mtorch\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mcuda\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mempty_cache\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m---> 82\u001B[0;31m             \u001B[0mbatch_inputs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mbatch_labels\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mbatch2tensor\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbatch_data\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m     83\u001B[0m             \u001B[0mbatch_outputs\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mmodel\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbatch_inputs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m     84\u001B[0m             \u001B[0mloss\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mcriterion\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbatch_outputs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mbatch_labels\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m<ipython-input-20-0b8e68029908>\u001B[0m in \u001B[0;36mbatch2tensor\u001B[0;34m(self, batch_data)\u001B[0m\n\u001B[1;32m    196\u001B[0m         \u001B[0;32mif\u001B[0m \u001B[0muse_cuda\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    197\u001B[0m             \u001B[0mbatch_inputs1\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mbatch_inputs1\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mto\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mdevice\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m--> 198\u001B[0;31m             \u001B[0mbatch_inputs2\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mbatch_inputs2\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mto\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mdevice\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m    199\u001B[0m             \u001B[0mbatch_masks\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mbatch_masks\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mto\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mdevice\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    200\u001B[0m             \u001B[0mbatch_labels\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mbatch_labels\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mto\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mdevice\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;31mKeyboardInterrupt\u001B[0m: "
     ]
    }
   ],
   "source": [
    "# train\n",
    "trainer = Trainer(model, vocab)\n",
    "\n",
    "for _ in range(5):\n",
    "    trainer.train()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T06:07:14.750116Z",
     "start_time": "2020-08-15T05:52:22.652179Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/dist-packages/sklearn/metrics/_classification.py:1268: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n"
     ]
    }
   ],
   "source": [
    "# test\n",
    "trainer.test()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T08:53:16.429712Z",
     "start_time": "2020-08-15T08:53:15.377231Z"
    }
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.preprocessing import normalize\n",
    "\n",
    "train_df = pd.read_csv('../input/train_set.csv', sep='\\t', nrows=10000)\n",
    "train_df['label_ft'] = '__label__' + train_df['label'].astype(str)\n",
    "train_df[['text','label_ft']].iloc[:-5000].to_csv('train.csv', index=None, header=None, sep='\\t')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T08:53:49.853616Z",
     "start_time": "2020-08-15T08:53:17.492803Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7736486250386942\n"
     ]
    }
   ],
   "source": [
    "import fasttext\n",
    "from sklearn.metrics import f1_score\n",
    "model = fasttext.train_supervised('train.csv', lr=1.0, wordNgrams=5, \n",
    "                                  verbose=2, minCount=3, epoch=25, loss=\"hs\")\n",
    "\n",
    "val_pred = [model.predict(x)[0][0].split('__')[-1] for x in train_df.iloc[-5000:]['text']]\n",
    "print(f1_score(train_df['label'].values[-5000:].astype(str), val_pred, average='macro'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:18:08.064733Z",
     "start_time": "2020-08-15T09:18:04.791456Z"
    }
   },
   "outputs": [],
   "source": [
    "train_df = pd.read_csv('../input/train_set.csv', sep='\\t', nrows=50000)\n",
    "test_df = pd.read_csv('../input/test_a.csv', sep='\\t', nrows=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:18:55.092199Z",
     "start_time": "2020-08-15T09:18:09.481515Z"
    },
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "train_feat = [model.get_sentence_vector(x) for x in train_df.iloc[:]['text']]\n",
    "train_feat = np.vstack(train_feat)\n",
    "train_feat = normalize(train_feat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:19:41.190571Z",
     "start_time": "2020-08-15T09:18:55.093873Z"
    }
   },
   "outputs": [],
   "source": [
    "test_feat = [model.get_sentence_vector(x) for x in test_df.iloc[:]['text']]\n",
    "test_feat = np.vstack(test_feat)\n",
    "test_feat = normalize(test_feat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:22.205754Z",
     "start_time": "2020-08-15T09:20:22.191850Z"
    }
   },
   "outputs": [],
   "source": [
    "ids = np.dot(train_feat[0], train_feat.T)\n",
    "ids_idx = ids.argsort()[::-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:24.723819Z",
     "start_time": "2020-08-15T09:20:24.718090Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.998387"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ids[ids_idx[1]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:25.085522Z",
     "start_time": "2020-08-15T09:20:25.079069Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "label                                                    2\n",
      "text     2967 6758 339 2021 1854 3731 4109 3792 4149 15...\n",
      "Name: 0, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(train_df.iloc[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:25.656533Z",
     "start_time": "2020-08-15T09:20:25.650113Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "label                                                    2\n",
      "text     2477 4109 2023 1767 5176 535 2109 7134 4378 24...\n",
      "Name: 13549, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(train_df.iloc[ids_idx[1]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:27.119512Z",
     "start_time": "2020-08-15T09:20:27.107929Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>label</th>\n",
       "      <th>text</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13549</th>\n",
       "      <td>2</td>\n",
       "      <td>2477 4109 2023 1767 5176 535 2109 7134 4378 24...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40937</th>\n",
       "      <td>2</td>\n",
       "      <td>7495 6352 3508 6122 1877 6407 6980 7426 4853 2...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39071</th>\n",
       "      <td>2</td>\n",
       "      <td>5176 4976 6045 2490 6758 1036 4893 3166 5445 2...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3429</th>\n",
       "      <td>2</td>\n",
       "      <td>6654 7490 623 6656 4525 4893 4653 4939 408 671...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4217</th>\n",
       "      <td>2</td>\n",
       "      <td>5660 5702 2289 4480 1839 3257 6234 6562 4130 3...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1756</th>\n",
       "      <td>2</td>\n",
       "      <td>7426 4853 6740 1515 4183 3792 4525 4893 265 36...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1617</th>\n",
       "      <td>2</td>\n",
       "      <td>4173 6662 414 2192 6093 5488 2316 2400 648 387...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40496</th>\n",
       "      <td>2</td>\n",
       "      <td>1779 4125 2595 4871 1648 6930 4411 2967 2289 2...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28127</th>\n",
       "      <td>2</td>\n",
       "      <td>3661 1731 6352 3508 1866 5977 5445 6543 2602 4...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       label                                               text\n",
       "13549      2  2477 4109 2023 1767 5176 535 2109 7134 4378 24...\n",
       "40937      2  7495 6352 3508 6122 1877 6407 6980 7426 4853 2...\n",
       "39071      2  5176 4976 6045 2490 6758 1036 4893 3166 5445 2...\n",
       "3429       2  6654 7490 623 6656 4525 4893 4653 4939 408 671...\n",
       "4217       2  5660 5702 2289 4480 1839 3257 6234 6562 4130 3...\n",
       "1756       2  7426 4853 6740 1515 4183 3792 4525 4893 265 36...\n",
       "1617       2  4173 6662 414 2192 6093 5488 2316 2400 648 387...\n",
       "40496      2  1779 4125 2595 4871 1648 6930 4411 2967 2289 2...\n",
       "28127      2  3661 1731 6352 3508 1866 5977 5445 6543 2602 4..."
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_df.iloc[ids_idx[1:10]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:30.469981Z",
     "start_time": "2020-08-15T09:20:27.948427Z"
    },
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "ids = np.dot(test_feat, train_feat.T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:20:32.833337Z",
     "start_time": "2020-08-15T09:20:32.820150Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_df.iloc[np.argsort(ids[0])[::-1][:10]]['label'].value_counts().iloc[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-08-15T09:24:03.407475Z",
     "start_time": "2020-08-15T09:20:33.668009Z"
    },
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "test_pred = [train_df.iloc[np.argsort(x)[::-1][:10]]['label'].value_counts().index[0] for x in ids[:]]"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": []
   }
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
